![]() |
Nicht nur Form vergrößern, sondern auch Elemente
Hi !
Ich stehe mal wieder vor einem kleinen großen Problem :-D Ich möchte, das meine Form sich an die Bildschirmauflösung anpasst. Dank der vielen Einträge im Forum, klappt das alles soweit. Nur ... jetzt kommt es ... Meine Panels sollen sich auch mit vergrößern. An sich wäre das ja kein Problem, wenn ich ihnen einfach die Bildschrimgröße zuweise. Aber die Buttons sitzen ja dann nicht mehr richtig auf dem Panel. Oder seh ich das falsch ? Gibt es da nen einfachen Trick, wie ich das gesamte Programm auf Bildschirmgröße stretchen kann, ohne jedem Element ne neue Größe und Position zuzuweisen ? Vielen Dank schon mal im voraus für die Hilfe :) |
Re: Nicht nur Form vergrößern, sondern auch Elemente
Schau mal bei .Anchors
|
Re: Nicht nur Form vergrößern, sondern auch Elemente
Hmm ... mit Anchors geht das irgendwie nicht.
Er zieht mir das zwar alles auf Vollbild, aber die Elemente behalten ihre Ursprungsgröße .. Das ist etwas blöd ... |
Re: Nicht nur Form vergrößern, sondern auch Elemente
Du musst diese Einstellungen bei jeder Komponenten setzen. :)
|
Re: Nicht nur Form vergrößern, sondern auch Elemente
Meinst Du alle Anchors auf true oder alle auf false ?
Das haut irgendwie auch nicht so ganz hin ... :? |
Re: Nicht nur Form vergrößern, sondern auch Elemente
Wenn du willst, dass die Größe berücksichtigt wird, muss es auf "True" stehen. :)
|
Re: Nicht nur Form vergrößern, sondern auch Elemente
Klappt nicht so ganz :(
Ich erklär am besten mal, wie ich es gemacht habe :) In meiner Form, auf der die Panels und Buttons sitzen habe ich geschrieben:
Delphi-Quellcode:
Dann habe ich bei der Form und bei allen Elementen
procedure TForm2.FormCreate(Sender: TObject);
// ... Form2.Height := Screen.Height; Form2.Width := Screen.Width; // ... Anchors auf true gesetzt (alle 4). Ja. Vollbild hab ich. Aber nur die Hintergrundfarbe geht über den ganzen Bildschirm. Die Elemente sind immernoch in Ursprungsgröße .. Oder hab ich was entscheidendes vergessen ? :coder2: P.S.: Was hat es eigentlich mit diesem onResize auf sich ? Hab ich auch hier im Forum gelesen. Muss ich das vielleicht noch verwenden ? Falls ja wie ... bin leider daran gescheitert :shock: |
Re: Nicht nur Form vergrößern, sondern auch Elemente
OnResize wird halt ausgelöst, wannimmer sich die Formulargröße ändert..
Wäre also durchaus sinnvoll event. notwendige Anpassungen in diesem Event vorzunehmen |
Re: Nicht nur Form vergrößern, sondern auch Elemente
Bei mir meistens:
PageControl = Align := alClient (immer formfüllend) Statusbar & MainMenu = Align Top bzw. Bottom rest (knöpfe, Groupboxen & co) mit Anchors bzw. onResize Die Anchors (Anker) halten immer den abstan zum entsprechendem Rand: Anchors := [] (alle False) lässt die Kompo "mittig" rumschweben. Bei Anchors := [akLeft,akTop,akRight,akBottom] (alle true) wächst die Komponente mit der Form. Kannste dir auch schon in der IDE angugn! |
Re: Nicht nur Form vergrößern, sondern auch Elemente
Vielen Dank erst mal für eure Hilfe :)
Also, ich hab es für`s erste so gelöst, das ich beim onResize des entsprechenden Elements eine Position angebe. Z.B. so:
Delphi-Quellcode:
Irgendwie hab ich das Gefühl, das ist ziemlicher Pfusch was ichprocedure TForm2.LMDBackPanel4Resize(Sender: TObject); begin LMDBackPanel4.Height := Screen.Height; LMDBackPanel4.Width := Screen.Width - LMDBackPanel1.Width; end; da gemacht habe :lol: Naja. Wer weiß. Denn angenommen, ich hab 100 Panels ... Das kann ich doch nicht für jedes einzelne Panel machen ? :shock: Das geht doch sicher einfacher ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:29 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