![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Окна! [D6]
AndreyAG © (2002-11-11 11:00:00)Уважаемые мастера! Как закрыть все дочернии окна MDI Приложения ?
Игорь Шевченко (2002-11-11 12:32:00) [1]
procedure TfMain.CloseAllMDIChilds;
begin
while ActiveMDIChild <> nil do begin
ActiveMDIChild.Release();
Application.ProcessMessages();
end;
end;
Работает на ура.
А вообще-то в FAQ пора, уже который раз пишу одно и то же
Marcus (2002-11-11 11:31:00) [2]> Skyle
А это зависит от того, что отвечаешь в Form.OnClose. Если CloseAction := caMinimize (по умолчанию), то правда только сворачивает, а если caFree, то убивает. Но в общем-то ты прав: лучше сразу говорить Free. Для надежности.
Skyle (2002-11-11 11:28:00) [3]Может тогда я просто не так понимаю значение слова "Закрыть". У меня это только сворачивает окна, а не релизит... D5, если что...;)
Marcus (2002-11-11 11:13:00) [4]> Skyle
Пробовал. У меня отлично работает, если ты об этом
Skyle (2002-11-11 11:06:00) [5]
> Marcus (11.11.02 11:05)
А ты пробовал его выполнять?
Skier (2002-11-11 11:06:00) [6]>AndreyAG
TForm.MDIChildCount + TForm.MDIChildren[...]
Skyle (2002-11-11 11:05:00) [7]Оно?
procedure TForm1.Button1Click(Sender: TObject);
var I : Integer;
begin
for I := 0 to Form1.MDIChildCount - 1 do
Form1.MDIChildren[I].Free;
end;
Marcus (2002-11-11 11:05:00) [8]Мужики, почитывайте хелп хоть иногда! Не пожалеете! Данный пример ноль в ноль содран с него
var
I: Integer;
begin
with Form1 do
for I := MDIChildCount-1 downto 0 do
MDIChildren[I].Close;
end;