Перехват перемещения и изменения размеров формы
Сообщение WM_ENTERSIZEMOVE отправляется окну, когда начинается режим перемещения формы или изменения ее размеров.
Сообщение WM_EXITSIZEMOVE отправляется окну после выхода формы из режима перемещения или изменения размеров.
Когда форма перемещается, сообщение WM_MOVE посылается окну.
Ниже приведен пример слежения за перемещением формы и изменением ее размеров.
private { Private declarations } procedure WMEnterSizeMove(var Msg: TMessage); message WM_ENTERSIZEMOVE; procedure WMMove(var Msg: TMessage); message WM_MOVE; procedure WMExitSizeMove(var Msg: TMessage); message WM_EXITSIZEMOVE; { ... } procedure TForm1.WMEnterSizeMove(var Msg: TMessage); begin lblMove.Caption:= 'Начало перемещения или изменения размера'; end; procedure TForm1.WMExitSizeMove(var Msg: TMessage); begin lblMove.Caption:= 'Конец перемещения или изменения размера'; end; procedure TForm1.WMMove(var Msg: TMessage); begin lblIndicate.Caption:= Format( 'Клиентская область - x : %d, y : %d', [TWMMove(Msg).XPos, TWMMove(Msg).YPos]); end;
Комментарии