![]() |
Form an Form docken
Hi,
Habe folgendes Problem wo ich zur zeit nicht wieterkomme und zwar habe ich eine Anwendung die aus mehreren Forms besteht und ich möchte dass man die so wie bei Winamp an und abdocken kann. Mfg joe666sa |
Re: Form an Form docken
Hallo joe666sa,
schau mal hier, ob Dir diese Lösung zusagt: ![]() |
Re: Form an Form docken
Diese Lösung mit WM_Move habe ich auch schon gefunden nur kann man da das Form halt nr andocken und nichtmehr abdocken.
|
Re: Form an Form docken
Du musst lediglich einen Schalter einbauen, ob die Methode AlignForm ausgeführt werden soll. Ist doch nur einfachste Logik ;)
...:cat:... |
Re: Form an Form docken
Ja aber ich möchte es so machen dass wenn Form2 nahegenug an Form1 ist dass es dann angedockt wir und wenn man Form2 weitgenug von Form1 wegzieht dass es dann wieder abgedockt wird.Doch irgend wie finde ich dazu keine lösung.
|
Re: Form an Form docken
Die Logik könnte etwa so aussehen:
Delphi-Quellcode:
Das Andocken wird dann nur aktiviert, wenn Form2 weniger als 50 Pixel von der rechten Seite von Form1 entfernt ist.
If ((Form2.Left - (Form1.Left + Form1.Width)) < 50) then
begin // Andocken aktivieren end else begin // Andocken deaktivieren end; |
Re: Form an Form docken
@scp: Und wenn es einmal angedockt ist, lässt es sich so nicht mehr abdocken. ;)
|
Re: Form an Form docken
Delphi-Quellcode:
So sollte es gehen nur so kriege ich immer folgenden fehler.
begin
if (Form3.Left < (Form1.Left + Form1.Width + 25)) or ((Form3.Left + Form3.Width) => (Form1.Left - 25)) then AlignForm;
Code:
Build
[Error] Unit1.pas(221): Expression expected but '<' found [Fatal Error] Project1.dpr(7): Could not compile used unit 'Unit1.pas' |
Re: Form an Form docken
Nicht => sondern >= :zwinker:
Code:
...:cat:...
begin
if (Form3.Left < (Form1.Left + Form1.Width + 25)) or ((Form3.Left + Form3.Width) [color=#ff0009]>=[/color] (Form1.Left - 25)) then AlignForm; |
Re: Form an Form docken
schreibe anstatt
Delphi-Quellcode:
einfach
=>
Delphi-Quellcode:
;)
>=
Edit: Katzen sind nunmal schneller als Menschen. :? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:59 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