Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-08-2005
jars jars is offline
Miembro
 
Registrado: mar 2004
Posts: 279
Poder: 21
jars Va por buen camino
Uso correcto de TFrame

Hola a todos:

Mi pregunta es la siguiente:

En el formulario principal tengo un TListView y al costado un TFrame en el que se van refrescando los datos según sea el item seleccionado del TListView. Entr el ListView y el Frame hay un TSplitter con boton que si se presiona, desaparece el Frame.

Lo que yo quiero es que cuando el frame esta escondido, con un doble-click en el item del ListView se cree un formulario que contiene el mismo frame.

La primer parte funciona bien pero no logro mostrar el nuevo formulario.

Es decir, como hago para mostrar (sin duplicar el codigo) un TLabel que esta en el Frame del formulario principal o el TLabel del frame del nuevo formulario???

Ojala me haya explicado bien.

Gracias.

Jorge.

Responder Con Cita
  #2  
Antiguo 03-08-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
A ver que te parece este invento:

Te creas una nueva ventana, llamemosla form3, dentro colocas el frame que quieres, y en tiempo de ejecución, lo que haces es camuflar el form3, bien poniendolo entre el Splitter o bien sacandolo fuera.

Lo que estoy haciendo en este código es cambiando el padre de la ventana Form3 y ocultando la barra de titulo. Le he puesto color rojo al Form3 para que se vea cuando pulsas el boton 1.

Adicionalmente, tendrás que modificar el Form3.Align := AlRight; para que al meterlo dentro del Form1, se quede en la posición correcta, es decir entre el Listview, el Splitter, y despues el Form3.

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
  Form3.Color := clRed;
  form3.Parent := Self;
  Form3.Top := 0;
  Form3.Left:= 0;
  Form3.Width := 100;
  Form3.Height:= 100;
  Form3.BorderStyle := bsNone;
  Form3.Show;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Form3.Color := clRed;
  Form3.Parent := nil;
  Form3.Top := 0;
  Form3.Left:= 0;
  Form3.Width := 100;
  Form3.Height:= 100;
  Form3.BorderStyle := bsSizeable;
  Form3.Show;
end;

Obviamente, ya no necesitas el frame que tienes puesto, con este del Form3 te vale para todo.
Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 03-08-2005 a las 13:03:16.
Responder Con Cita
  #3  
Antiguo 03-08-2005
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Juer ha quedado chulo el ejemplo

Al pulsar el boton 2 quizás quieras poner el form3.FormStyle a fsOnTop, para que no se oculte detrás del Form1.

Al pulsar el boton 1 ponle el estilo fsNormal

Un saludo
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #4  
Antiguo 03-08-2005
jars jars is offline
Miembro
 
Registrado: mar 2004
Posts: 279
Poder: 21
jars Va por buen camino
Gracias Lepe, lo voy a probar.
Responder Con Cita
  #5  
Antiguo 03-08-2005
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Cita:
Empezado por Lepe
Juer ha quedado chulo el ejemplo
¡Admiro a la gente que no tiene abuela, como suele decirse!
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 00:31:38.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi