// Der folgende Code stellt fest, wann das Verschieben eines Fensters
// beendet ist. Siehe auch
das Ereignis OnMove erzeugen


// Getestet mit D4 unter XP

... 
  public 
    { Public-Deklarationen } 
    procedure OnMoving(var aMsg: TMsg); message WM_MOVING; 
    procedure WMNCHittest(var Msg: TWMNCHittest); message WM_NCHittest; 
  end; 
 
var 
  Form1: TForm1; 
 
implementation 
 
{$R *.DFM} 
 
var 
  xx, yy: integer; 
  moveflag: boolean = false; 
 
procedure TForm1.OnMoving(var aMsg: TMsg); 
begin 
  inherited; 
  if visible and not moveflag then 
  begin 
    moveflag := true; 
    xx := left; 
    yy := top; 
  end; 
end; 
 
procedure TForm1.WMNCHittest(var msg: TWMNCHittest); 
begin 
  if moveflag then begin 
    if (left <> xx) or (top <> yy) 
      then // machwas, z.B.: 
      showmessage('Das Fenster wurde verschoben'); 
    moveflag := false; 
  end; 
  inherited; 
end;



 

Zugriffe seit 6.9.2001 auf Delphi-Ecke