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

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

Не могу закрыть MDIChild окно [D7]


pasha_golub ©   (2007-04-19 12:31:00) 

Я как-то туплю, но не могу понять как.

Есть MDI приложение. Дочерняя форма имеет FormStyle = fsMDIChild

Никаких обработчиков на закрытие не висит. Жму крестик, а она, вместо того чтобы закрыть себя, сворачивается. Смотрю код VCL:


procedure TCustomForm.Close;
var
 CloseAction: TCloseAction;
begin
 if fsModal in FFormState then
   ModalResult := mrCancel
 else
   if CloseQuery then
   begin
     if FormStyle = fsMDIChild then
       if biMinimize in BorderIcons then
         CloseAction := caMinimize else
         CloseAction := caNone
     else
       CloseAction := caHide;
     DoClose(CloseAction);
     if CloseAction <> caNone then
       if Application.MainForm = Self then Application.Terminate
       else if CloseAction = caHide then Hide
       else if CloseAction = caMinimize then WindowState := wsMinimized
       else Release;
   end;
end;


Это что так задумано? А как мне осуществить сие?


pasha_golub   (2007-04-19 12:49:00) [1]

Я нашел. Всем спасибо. Решение должно выглядеть так:

procedure TfrChild.FormClose
     (Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;


Наверх

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