![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с MDI формой [D7]
Shc © (2004-07-28 12:51:00)Имеется материнская форма. Из нее динамически вызывается другая МДИ форма.
Как создать дочернее окно на второй форме (у меня оно всегда создается на первой).
Вот пример моего кода:
procedure TMDIForm1.CreateSubMDI;
begin
MDIForm2:= TMDIForm2.Create(Application);
MDIForm2.visible:=true;
end;
---------------------------------------
Procedure TMDIForm2.CreateChild(sender:TObject);
var Child:TChildForm;
begin
child:=TChildForm.Create(self);
child.parent:=MDIForm2;
end;
s999 (2004-07-28 16:56:00) [1]Все это решается одной строкой, напиши:
child.ParentWindow := MDIForm2.Handle;
Просто Parent и ParentWindow вещи очень разные, не путай.
shc (2004-07-28 14:57:00) [2]Я так понимаю, что концепция родительско-дочерних форм такого варианта не предусматривает.
По+тому вопрос снимается.
Shc (2004-07-28 13:44:00) [3]Хотелось бы.
Предполагается написание программы-редактора, которая будет работать с несколькими документами.
А програмка-утилита к ней тоже с дочерними окнами. Хотелось бы все это зашить в один ехе-шник (без длл)
Игорь Шевченко (2004-07-28 13:33:00) [4]
> Очень интерестный подход.
Угу, интереснее некуда. RTFS Forms.pas
> А обойти это как-то можно?
Можно-то можно, способ, как обойти можно извлечь из того же вдумчивого чтения forms.pas
А нужно ?
shc (2004-07-28 13:27:00) [5]Очень интерестный подход. А обойти это как-то можно?
Игорь Шевченко (2004-07-28 13:12:00) [6]
> Как создать дочернее окно на второй форме (у меня оно всегда
> создается на первой).
Никак, скорее всего. Или очень много кода писать.
Дочерняя форма создается как дочернее окно Application.MainForm.ClientHandle