Вниз
Скачать: CL | DM;

Не могу закрыть MDIChild окно   Найти похожие ветки 

 
pasha_golub ©   (2007-04-19 12:31) [0]

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

Есть 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) [1]

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

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.111 c
2-1177444941
Олег Валерьевич
2007-04-25 00:02
2007.05.13
Автоматическое напоминание...


15-1176289119
Layner
2007-04-11 14:58
2007.05.13
HKEY_LOCAL_MACHINE доступен ли для "Пользователей" в XP/2000/3?


2-1177074264
_Anton_
2007-04-20 17:04
2007.05.13
обнуление поля с изображением


2-1177488098
Riply
2007-04-25 12:01
2007.05.13
ReadFileEx - место "повторного вызова".


2-1177403993
Neket
2007-04-24 12:39
2007.05.13
Сравнить строки в Excel




   Наверх