Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Form an Form docken (https://www.delphipraxis.net/27068-form-form-docken.html)

joe666sa 3. Aug 2004 20:27


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

APP 4. Aug 2004 05:35

Re: Form an Form docken
 
Hallo joe666sa,

schau mal hier, ob Dir diese Lösung zusagt:
http://www.delphipraxis.net/internal...highlight=form

joe666sa 4. Aug 2004 09:11

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.

sakura 4. Aug 2004 09:13

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:...

joe666sa 4. Aug 2004 15:18

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.

scp 4. Aug 2004 15:33

Re: Form an Form docken
 
Die Logik könnte etwa so aussehen:

Delphi-Quellcode:
If ((Form2.Left - (Form1.Left + Form1.Width)) < 50) then
begin
  // Andocken aktivieren
end
else
begin
  // Andocken deaktivieren
end;
Das Andocken wird dann nur aktiviert, wenn Form2 weniger als 50 Pixel von der rechten Seite von Form1 entfernt ist.

Matze 4. Aug 2004 15:52

Re: Form an Form docken
 
@scp: Und wenn es einmal angedockt ist, lässt es sich so nicht mehr abdocken. ;)

joe666sa 4. Aug 2004 16:12

Re: Form an Form docken
 
Delphi-Quellcode:
begin
         if (Form3.Left < (Form1.Left + Form1.Width + 25)) or
         ((Form3.Left + Form3.Width) => (Form1.Left - 25)) then
           AlignForm;
So sollte es gehen nur so kriege ich immer folgenden fehler.

Code:
Build
  [Error] Unit1.pas(221): Expression expected but '<' found
  [Fatal Error] Project1.dpr(7): Could not compile used unit 'Unit1.pas'

sakura 4. Aug 2004 16:14

Re: Form an Form docken
 
Nicht => sondern >= :zwinker:

Code:
begin
         if (Form3.Left < (Form1.Left + Form1.Width + 25)) or
         ((Form3.Left + Form3.Width) [color=#ff0009]>=[/color] (Form1.Left - 25)) then
           AlignForm;
...:cat:...

Matze 4. Aug 2004 16:16

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 12:59 Uhr.
Seite 1 von 2  1 2      

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