Как переопределить кнопку Восстановить формы
Переопределив операцию восстановления, можно, например, создать форму, которую можно будет только развернуть и свернуть. Чтобы уловить и отреагировать на операцию восстанвления формы, нужно обработать сообщение 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 срабатывает, когда приложение восстанавливается из Панели задач.
Комментарии