Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Se puede colocar un form dentro de un TPanel? (https://www.clubdelphi.com/foros/showthread.php?t=73700)

oscarac 10-05-2011 23:27:25

Se puede colocar un form dentro de un TPanel?
 
buenas tarde
imaginemos que tengo un form Principal y esta dividido en 2 partes la parte izquierda donde estan las opciones y la parte derecha donde se mostraran los form que seran llamados dependiendo de la opcion que escoja

la pregunta es... se puede activar un form dentro de un Panel ? con el objeto de tener una mejor presentacion

algo asi como el outlook ?

Caral 11-05-2011 00:01:00

Hola
Aqui tienes un ejemplo.
Saludos

ecfisa 11-05-2011 00:04:23

Hola oscarac.

Si se puede, hay que especificar el panel como parent:
Código Delphi [-]
  with TForm2.Create(nil) do
  begin
    Top:= 0;
    Left:= 0;
    Height:= Panel1.Height;
    Width:= Panel1.Width;
    Parent:= Panel1;
    Show;
  end;

Saludos.

Caral 11-05-2011 00:07:50

Hola
Mi codigo es mas corto.......:D:D
Estos aprendices....:D:D:D;)
Saludos Maestro.

ecfisa 11-05-2011 00:13:45

Cita:

Empezado por Caral (Mensaje 399636)
Hola
Mi codigo es mas corto.......:D:D
Estos aprendices....:D:D:D;)
Saludos Maestro.

No lo ví todavía, pero encima es más rápido... :(:D

Un abrazo.

Edito: Y es más corto. :)

oscarac 11-05-2011 00:15:24

ohhhhhhhhhhhhhh

se agradece !!!

oscarac 11-05-2011 06:06:46

funciona bien pero me ha generado otro problema

tengo un query y un edit dentro del formulario que se muestra en el Panel
pero no tengo acceso al edit....

es normal eso? no lo creo
alguna idea?

ecfisa 11-05-2011 09:36:54

Hola oscarac.

Creo que al ser el parent de Form2 un TPanel y no un TForm lo hace visible pero no lo trae al frente, por lo que no recibe el manejo del foco.

Lo podés solucionar agregando:
Código Delphi [-]
begin
  with TForm2.Create(Self) do
  begin
    Parent:= Panel1;
    Align:= alClient;
    Show;
    Edit1.SetFocus;
  end;
end;

Saludos.

Neftali [Germán.Estévez] 11-05-2011 11:14:55

Cita:

Empezado por ecfisa (Mensaje 399634)
Si se puede, hay que especificar el panel como parent

+1

Cita:

Empezado por Caral (Mensaje 399632)
Aqui tienes un ejemplo...

+1

Aun hay otra, que aunque no supera en "corto" la de Caral, tiene la ventaja de que elimina el título de la ventana y hace el Dock del form como si fuera otro componente (o un Frame). Para ello se usa el procedimiento ManualDock.

Código Delphi [-]
  Form2.show;
  Form2.ManualDock(Panel1, nil, alClient);
  Form2.Align := alClient;

Un saludo.

ecfisa 11-05-2011 11:35:03

Cita:

Aun hay otra, que aunque no supera en "corto" la de Caral, tiene la ventaja de que elimina el título de la ventana y hace el Dock del form como si fuera otro componente (o un Frame). Para ello se usa el procedimiento ManualDock.
+1

Cuanto más leo más comprendo lo mucho que me falta aprender... ;)

Un saludo. :)

Caral 11-05-2011 13:33:37

Hola
Ahora si nos liamos, Neftali nos gano con esto del ManualDock.
Vamos a tener que inventar el AutomaticDock :D
Saludos

Neftali [Germán.Estévez] 11-05-2011 13:39:44

Cita:

Empezado por Caral (Mensaje 399684)
Vamos a tener que inventar el AutomaticDock :D

:D:D:D Ese estaría bien.


La franja horaria es GMT +2. Ahora son las 23:20:07.

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