Как переопределить кнопку Восстановить формы
Переопределив операцию восстановления, можно, например, создать форму, которую можно будет только развернуть и свернуть. Чтобы уловить и отреагировать на операцию восстанвления формы, нужно обработать сообщение WM_SYSCOMMAND Windows. Сначала создадим обработчик сообщения в разделе private формы:
type TForm1 = class(TForm) private { Private declarations } procedure WMSysCommand( var Msg: TWMSysCommand); message WM_SYSCOMMAND; public { Public declarations } end;
Теперь напишем перехватчик сообщения:
procedure TForm1.WMSysCommand(var Msg: TWMSysCommand); begin if Msg.CmdType = SC_RESTORE then begin if Self.WindowState = wsMaximized then begin Self.WindowState:= wsMinimized; Msg.Result:= 0; Exit; end; if Self.WindowState = wsMinimized then begin Self.WindowState:= wsMaximized; Msg.Result:= 0; Exit; end; end; DefaultHandler(Msg); end;
Установите свойство WindowsState в состояние wsMinimized или wsMaximized.
Примечание: не путайте восстановление приложения OnRestore с восстановлением формы или окна. Событие OnRestore объекта TApplication срабатывает, когда приложение восстанавливается из Панели задач.
Комментарии