Ver Mensaje Individual
  #7  
Antiguo 25-03-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola ginkaku.

No logro entender en que contexto estás teniendo problemas para usar uno u otro modo. Es decir, si podes acceder a las propiedades Handle, también tenes que poder acceder a las propiedades Parent.

Por ejemplo, estos dos códigos son equivalentes:
1)
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Form2 = new TForm2(this); // (*)

  Form2->Parent  = Panel1;
  Form2->Align   = alClient;
  Form2->Show();
}
2)
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  Form2 = new TForm2(this);

  ::SetParent(Form2->Handle, Panel1->Handle);
  SetWindowPos(Form2->Handle,HWND_TOP, 0, 0,
    Panel1->ClientWidth, Panel1->ClientHeight, SWP_NOACTIVATE);
  Form2->Show();
}
Y, para agregar una opción diferente, de este modo lo muestra sin título ni bordes como si fuera un TFrame:
Código:
void __fastcall TForm1::btManualDockClick(TObject *Sender)
{
 Form2 = new TForm2(this); // (*)

 Form2->Show();
 Form2->ManualDock(Panel1, NULL, alClient);
 Form2->Align = alClient;
}
(*) Esta linea es innecesaria si Form2 se encuentra en: Project => Options => Forms => Auto-create forms.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita