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.