Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Окна! [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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо