Event Fenster verschieben?
Hallo,
welches Event könnte ich benutzen, wenn ein Fenster verschoben wird. TForm biete irgendwie kein onMove oder so. Danke Minz |
Ähnlich der Lösung in folgenden Beitrag, allerdings musst Du auf SC_MOVE anstatt von SC_MINIMIZE, SC_CLOSE reagieren.
http://www.delphipraxis.net/internal...t=wmsyscommand ...:cat:... |
daaanke :mrgreen:
|
das funzt net :(
Delphi-Quellcode:
Hab fast alles übernommen, er zeigt weder die Message, noch belegt er die Variablen.
procedure TForm1.WMSYSCOMMAND(var Msg: TMessage);
begin { WM_SYSCOMMAND abfangen } if Msg.Msg = WM_SYSCOMMAND then begin { wParam prüfen } case Msg.wParam of SC_MOVE: begin ShowMessage('Fenster wurde beweg'); FensterPosX:=Form1.Left; FensterPosY:=Form1.Top; Inherited; end; else { alle anderen Fälle weiterreichen an die standard Fensterprozedur } Inherited; end; end; end; Minz |
Wäre auch zu schön gewesen. :mrgreen: Aber ich habe eine Lösung gefunden und(!) getestet.
Delphi-Quellcode:
...:cat:...
private
{ Private declarations } procedure WMMOVE(var Msg: TWMMove); message WM_MOVE; ..... procedure TForm1.WMMOVE(var Msg: TWMMove); begin inherited; ShowMessage('g'); end; |
super danke :mrgreen: habs auch getestet
und funzt... wusste nicht, dass das Fenster am Anfang schon gleich 3 mal bewegt wird :shock: :hello: Minz |
Re: Event Fenster verschieben?
Hi, es funktioniert wirklich gut.
Gibt es auch ein Event das vor dem Verschieben gestartet wird? Ich wollte, dass meine Form beim verschieben, wie bei WinAmp, an den Bildschirmrand gezogen wird. Das geht auch, aber man sieht das die Form erst verschoben wird und danach erst meine Prozedure aufgerufen wird. |
Re: Event Fenster verschieben?
Moin!
Dann nimm die Botschaft WM_MOVING und darin kannst du das Rechteck deines Fenster auch anpassen und somit das schieben beschränken und auch diesen "Docking" Effekt einbauen. MfG Muetze1 |
Re: Event Fenster verschieben?
Zitat:
dafür gibt es ab Delphi 7 die Eigenschaft ScreenSnap von Deiner Form :) mfG mirage228 |
Re: Event Fenster verschieben?
Echt geil, danke
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:02 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz