![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как сделать, чтобы форму нельзя было закрыть и уничтожить пока [D7, WinXP]
Gear © (2004-09-12 18:48:00)Как сделать так, чтобы форму нельзя было закрыть и уничтожить пока не выполниться какое-либо условие?
Семен Сорокин (2004-09-12 18:56:00) [1]Form.OnClose
Action := caNone
более глобально (работает когда винду вырубают)
Form.OnCloseQuery
CanClose = false
QuasiLamo (2004-09-12 18:53:00) [2]С сайта delphiworld
----------
Перехват нажатия на системные кнопки формы (закрытие, минимизация окна и т.д.)
--------------------------------------------------------------------------------
Сообщение WM_SYSCOMMAND приходит перед выполнением соответствующей команды, что дает возможность переопределить код.
WM_SYSCOMMAND
uCmdType = wParam; // type of system command requested
xPos = LOWORD(lParam); // horizontal postion, in screen coordinates
yPos = HIWORD(lParam); // vertical postion, in screen coordinates
Например, перехват события минимизации окна приложения:
type
TMain = class(TForm)
protected
procedure WMGetSysCommand(var message : TMessage);
message WM_SYSCOMMAND;
end;
...
// Обработка сообщения WM_SYSCOMMAND
procedure TMain.WMGetSysCommand(var message : TMessage) ;
begin
if (message.wParam = SC_MINIMIZE) then
Main.Visible := False
else
inherited;
end;