Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Form Docking Probleme (https://www.delphipraxis.net/127278-form-docking-probleme.html)

Lucaito 10. Jan 2009 00:06


Form Docking Probleme
 
So, hallo erstma zusamm.^^

Hab erst seit diesem Schuljahr Delphi in Info, also werd ich wohl noch oefter was erfragen. :D
Also, zu meinem Prob:

Derzeit arbeiten wir mit Whiteboxen, mit ner sg. Knopfbox (3 Knoepfe, 3 Leuchtdioden) und sollen ein paar Aufgaben bearbeiten.
Da ich grad nix zu tun hab und gern progge, mach ich die Aufgaben alle in einem Programm, mit Auswahl welche Aufgabe denn bearbeitet werden soll. Da ich nich die Whitebox bei mir zu Hause habe, simulier ich das ganze, mit ner 2ten Form und 3 Shapes und 3 Buttons. Die Mainform/-unit kann dann einfach fuer die Whitebox uebernommen werden, da ich die selben Bezeichner nutze. So, das war jetz nur Hintergrundwissen. XD Jetz das wichtige. ^^

Da ich 2 Forms habe, und die Mainform ja auch einzeln nutzen koennen moechte, aber beide gemeinsam verschieben will, wollt ich fragen, wie mans macht, dass die Subform einfach dran klebenbleibt? Mit dem Drag&Dock klappt das nich ganz, da bleibt die Fenstergroesse der Mainform gleich, trotz aktiviertem DockManager. :/
Und mit dem Position veraendern beim Move vonner Mainform klappt au nich so, wies soll, da liegen die beiden Forms bissl uebereinander.

http://img377.imageshack.us/img377/4...subformda9.jpg

Nen Codeausschnitt is denk ich egal, wenn nich einfach sagen!

In dem Hoffen auf Hilfe und nicht zu verwirrend geschrieben zu haben...

Gruß, Luca! xD

fkerber 10. Jan 2009 00:11

Re: Form Docking Probleme
 
Hi!

Herzlich willkommen in der DP!

Das, was du suchst, findest du z.B. hier:
http://www.delphipraxis.net/internal...light=magnetic

Ich weiß aber nicht, ob das so einfach einzubauen ist...


Ciao, Frederic

Lucaito 10. Jan 2009 21:06

Re: Form Docking Probleme
 
Hab des einfach mit nem Timer jetz gemacht, der jede Millisekunde die Pos der Mainform prueft:

Delphi-Quellcode:
procedure TForm1.MoveTimerTimer(Sender: TObject);
begin
   if((Form2.Left) <> (Form1.Left + Form1.Width + 16)) or
           (Form2.Top <> Form1.Top) then
   begin
      Form2.Left := Form1.Left + Form1.Width + 16;
      Form2.Top := Form1.Top;
   end;
end;
Das +16 damit man die ordentlich nebeneinander sieht, ohne ueberlappen die sich n bissl.

Close pl0x.


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:43 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