![]() |
Fenster an Screen (rechts oder Links) andocken
Hallo...
Ich habe schon sehr vieles versucht aber nichts hat gut funktioniert. Und zwar will ich mein Fenster, wenn man es z.B rechts an den Bildschirmrand schiebt so andocken, wie es z.B ICQ oder Trillian auch machen. Leider bekomme ich das einfach nicht richtig hin. z.B hatte ich folgendes versucht
Delphi-Quellcode:
Aber das geht alles nicht so richtig es flakert nur blöd wenn man es dann nach rechts schiebt, hat da zufällig jemand eine gute
procedure TForm1.WMMoving(var Message: TWMMoving);
var rec: ^TRect; wrk: TRect; begin SystemParametersInfo(spi_getworkarea, 0, @wrk, 0); rec := Pointer(Message.DragRect); if rec^.Left < wrk.Left then begin form.top:=0; form.height:=screen.height; end else if rec^.Right > wrk.Right then begin form.top:=0; form.height:=screen.height; end; end; |
Re: Fenster an Screen (rechts oder Links) andocken
Also so geht es zwar
Delphi-Quellcode:
aber nur im WMExitSizeMove aber ich möchte es so haben wie ICQ also direkt im WMMoving.
procedure TLoginForm.WMExitSizeMove(var Msg: TMessage);
begin if LoginForm.Left + LoginForm.Width >= screen.Width then begin LoginForm.Top:=0; oldFormHeight:=LoginForm.Height; LoginForm.Height:=screen.Height; LoginForm.Left:=screen.Width - LoginForm.Width; isDocked:=true; end else begin if isDocked then begin LoginForm.Height:=oldFormHeight; isDocked:=false; end; end; end; |
Re: Fenster an Screen (rechts oder Links) andocken
TForm besitzt die Eigenschaft "ScreenSnap" in verbindung mit "SnapBuffer".
Probier das am Besten einfach mal aus. |
Re: Fenster an Screen (rechts oder Links) andocken
Zitat:
|
Re: Fenster an Screen (rechts oder Links) andocken
Ansonsten gibt es auch in den JEDIs eine Komponente (TMagnetirgendwas), die eben dieses kann.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz