2011-03-21 9 views

Odpowiedz

8

Nie, nie jest to możliwe przy użyciu standardowego VCL. Jedynie MainForm aplikacji może być formularzem MDI. Ale powinno być możliwe, używając win32 bezpośrednio, jak pokazano here.

+0

Zobacz także mój raport QC na ten sam temat (chociaż jest zamknięty jako "Nie zrobię"): http://qc.embarcadero.com/wc/qcmain.aspx?d=12006 –

+0

Przepraszamy za późna powtórka (ponieważ brałem udział w innych projektach). To nie zadziałało. Przepraszam. Kiedy tworzę drugą postać mdi, jej okna potomne są malowane w głównej formie. – zoomz

0

Nie wierzę, że jest to możliwe w VCL. Jak rozumiem, przyjmuje się, że forma MDI jest główną formą (Application.MainForm). Wyobrażam sobie, że podstawowe procedury Windows nie będą miały takiego założenia, ale myślę, że VCL nie pozwoli ci tego zrobić bez poważnego hakowania.

W różnych miejscach w strukturze VCL ważne wiadomości MDI są wysyłane pod numer Application.MainForm.ClientHandle. Teraz, ClientHandle jest kontenerem MDI, ale z jakiegoś powodu kontener dla głównej formy został wyróżniony.

Powiązane problemy