Можно создать более одной формы MDI в приложении Delphi? - PullRequest
6 голосов
/ 21 марта 2011

Я разработал приложение mdi, которое в своей основной форме имеет несколько дочерних окон, которые создаются во время выполнения.Дочерние окна имеют пользовательские формы.Я хочу отобразить эти пользовательские формы в другой форме из того же приложения.Возможно ли это?

Ответы [ 2 ]

8 голосов
/ 21 марта 2011

Нет, это невозможно при использовании стандартного VCL.Только форма приложения MainForm может быть формой MDI.Но это должно быть возможно при использовании win32 напрямую, как показано здесь .

0 голосов
/ 21 марта 2011

Я не верю, что это возможно в VCL. Насколько я понимаю, форма MDI считается основной формой (Application.MainForm). Я полагаю, что основные подпрограммы Windows не будут иметь таких предположений, но я думаю, что VCL не позволит вам сделать это без какого-либо серьезного взлома.

В различных точках платформы VCL важные сообщения MDI отправляются на Application.MainForm.ClientHandle. Теперь ClientHandle является контейнером MDI, но по какой-то причине был выделен контейнер для главной формы.

...