Obtendo informações do formulário (posição e deslocamento)

Veja nesta dica como obter informações pertinentes ao deslocamento do formulário.

 

type

   TForm1 = class(TForm)

   private

     procedure WMEnterSizeMove(var Message: TMessage) ; message WM_ENTERSIZEMOVE;

     procedure WMMove(var Message: TMessage) ; message WM_MOVE;

     procedure WMExitSizeMove(var Message: TMessage) ; message WM_EXITSIZEMOVE;

 

...

 

procedure TForm1.WMEnterSizeMove(var Message: TMessage) ;

begin

   Caption := 'Move / resize started';

end; (*WMEnterSizeMove*)

 

procedure TForm1.WMMove(var Message: TMessage) ;

begin

   Caption := Format('Form is being moved. Client area x: %d, y:%d',

     [TWMMove(Message).XPos,TWMMove(Message).YPos]) ;

end; (*WMMove*)

 

procedure TForm1.WMExitSizeMove(var Message: TMessage) ;

begin

   ShowMessage('Move / resize complete!') ;

end; (*WMExitSizeMove*)