![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Дочерние окна [D6, D7, WinXP]
Heretic © (2004-06-24 11:31:00)Помогите ламеру. Есть главная форма (fsMDIForm) и есть куча дочерних (fsMDIChild). Как правильно открывать и закрывать дочерние окна, а то у меня постоянно какие-то ерроры при открытии или закрытии.
И еще, как проверить дочернее окно - открыто окно или нет (Show) и создано или отсутствует (Create).
Silver Alex (2004-06-24 13:03:00) [1]Я вот так делаю
function IsFormFoundEx(AFormClass :TFormClass) : boolean;
var
i:integer;
begin
Result:=False;
for i:=0 to Screen.FormCount - 1 do
if (Screen.Forms[i] is AFormClass) then begin
(Screen.Forms[i] as TForm).BringToFront;
Result:=True;
break;
end;
if not Result then
AFormClass.Create(Application);
end;
вызываешь форму
IsFormFoundEx(TfrmChildForm)
и на закрытие ChildForm в OnClose ставишь
action:= caFree;
Игорь Шевченко (2004-06-24 12:59:00) [2]
> И еще, как проверить дочернее окно - открыто окно или нет
> (Show) и создано или отсутствует (Create).
У всех MDIChild'ов свойство Visible установлено в true, значит, если создано, то видимо.