![]() |
Panel bewegen und groesse auf Form ändern ? 2
Hi ich hab mal eine weiterführende Frage zu dem bereits
![]() Wie kann ich die größe des Panels automatisch an die größe der Form anpassen? Wenn jeder User einen anderen Monitor (Größe/Auflösung,Höhe-Breite-Verhältnis) hat und ich das Programm also die Form maximiere das sich das Panel der größe anpasst? Es sieht blöd aus wenn die Hälfte des Programms dieses Panel ist und die andere Hälfte "leer" und ungenutzt ist. So muss der User in dem Panel auch unnötig viel Scrollen und vor allem wegen der Optik würd ich das halt gern vermeiden. Ich hoffe ihr könnt mir helfen. MfG.Alfred |
Re: Panel bewegen und groesse auf Form ändern ? 2
Guck dir mal die Eigenschaft "Anchors" im Objektinspektor an.
|
Re: Panel bewegen und groesse auf Form ändern ? 2
Nein das funktioniert leider nicht. mache ich [akLeft,akTop,akRight] also ausgerichtet nach oben, links und rechts hab ich immernoch diese Freifläche rechts weiß aber nicht woran das liegt :(
|
Re: Panel bewegen und groesse auf Form ändern ? 2
Dann kannst du das manuell im OnResize-Ereignis deiner Form machen.
|
Re: Panel bewegen und groesse auf Form ändern ? 2
sry mit diesen Ereignissen hab ich bisher net so gearbetet bisher nur schuldelphi :? kannst du mir sagen wie ?
wäre wirklich super ! |
Re: Panel bewegen und groesse auf Form ändern ? 2
Die Anchors verändern nur das Vergrößeungsverhalten, du musst die Komponente also erst bis auf den gewünschten Randabstand ziehen, dein Fall hört sich aber eher nach
Delphi-Quellcode:
an. Das sollte hier eher den von dir gewünschten Effekt haben.
Align:= alClient;
|
Re: Panel bewegen und groesse auf Form ändern ? 2
Zitat:
Dort siehst du dann aufgelistet alle Events deiner Form. Machst du nun einen Doppelklick auf eines dieser Events, so erstellt Delphi automatisch eine dazugehörige Methode und springt im Quellcode zu dieser. Wie gesagt ist für dich die OnResize-Methode wichtig. Diese wird immer dann aufgerufen, wenn sich die Größe deiner Form verändert. In dieser Methode kannst du dann über die Eigenschaften Width und Height deiner Form und auch deines Panels die Größe des Panels anpassen. |
Re: Panel bewegen und groesse auf Form ändern ? 2
ok Super danke für den Tipp funktioniert!!! Nur musste es über eine IF Anweisung machen weil das Panel eine bestimmte mindestgröße brauch um alle Objekte drin anzeigen zu können.
Hier mal der Quelltext dafür:
Code:
Die Zahlen und FormX müsst ihr dann nur noch anpassen :)
procedure TForm4.FormResize(Sender: TObject);
begin if Form4.Width > 1179 then begin Panel1.Width:=Form4.Width; end else begin Panel1.Width:=1179; end; if Form4.Height >818 then begin Panel1.Height:=Form4.Height; end else begin Panel1.Height:=818; end; danke nochmal klappt prima :-D |
Re: Panel bewegen und groesse auf Form ändern ? 2
Ist zwar schon eine Weile her, aber ich möchte trotzdem noch meinen Senf dazu geben.
Die IF-Abfrage wegen der Mindestgröße kannst Du Dir sparen. Delphi bietet nämlich eine Eigenschaft an, die das für Dich erledigt: "Constraints" Hier kannst Du bei "MinHeight" und "MinWidth" Deine Mindestgröße angeben. Null (in Zahlen: 0) bedeutet: Keine Mindestgröße. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:09 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