![]() |
Unterformulare ausrichten
Hallo,
ich möchte Formulare, die ich aus meinem Hauptformular starte, anhand des Hauptformulares ausrichten. z.B. sollten die UNterformulare mit der rechten unteren Ecke an die rechte untere Ecke des Hauptformulares erscheinen. Ich speichere die Position LEFT/TOP/WIDTH/HEIGHT beim Schliessen bereits in der Registry. OnCretae hole ich mir die Werte wieder her, bekomme jedoch eine Zugriffsverletzung wenn ich diese Eigenschaften dem Unterformular zuweisen möchte - vermutlich existiert das Formular da noch nicht. Kann mir jemand einen Hinweis geben? Heiko |
Re: Unterformulare ausrichten
Hallo
im OnFormCreate der Unterform kannst du die Position festlegen.
Delphi-Quellcode:
procedure TFormUnterformular.FormCreate(Sender: TObject);
begin Left := ... Top := ... end; |
Re: Unterformulare ausrichten
Das ist klar. Was aber wenn das Hauptformular in der Größe geändert wird?
Gruß Heiko |
Re: Unterformulare ausrichten
Dann musst du halt bei der Größenänderung des Formulars diese Anpassung an das Image und das Unterformular anwenden
|
Re: Unterformulare ausrichten
Und genau das WIE ist die Frage...
|
Re: Unterformulare ausrichten
Rate mal was der Resize-Event der Formklasse macht?
|
Re: Unterformulare ausrichten
Vielleicht mal anders.... Sorry, vielleicht drücke ich mich falsch aus.
Aus meinem Hauptformular heraus öffne ich ein Neues. Dies sollte mit seiner rechten unteren Ecke an der rechten unteren Ecke des Hauptformulars positioniert werden. Was mit dem Hauptformular passiert, während mein Unterformular auf ist, interessiert micht nicht weiter. Mit der Größenänderung meine ich, wenn sich das Hauptformular in der Größe und/oder Position ändert und DANACH wird das Unterformular wieder geöffnet, dann soll es sich ebenso wieder rechts-unten bündig an dem Hauptformular orientieren, unabhängig davon, welche Größe es nun hat. Es soll also nicht aus dem Hauptformular heraus "laufen". So besser beschrieben? Oder verstehe ich dich nicht?? Heiko |
Re: Unterformulare ausrichten
Delphi-Quellcode:
Ist doch nicht so schwierig, oder?
procedure TFrmChild.FormShow(Sender: TObject);
begin Self.Left := (FrmMain.Left + FrmMain.Width) - Self.Width; Self.Top := (FrmMain.Top + FrmMain.Height) - Self.Height; end; |
Re: Unterformulare ausrichten
Dann musst du die Anpassung halt nicht beim Erzeugen der Unterform sondern bei Öffnen diese durchführen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:52 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