![]() |
Delphi-Version: 5
Größe des Forms verändern und anordnen der Scrollboxen
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich möchte in einem kleinen Programm ein 3geteiltes Formular aufbauen. das mittlere soll immer die gleiche Breite haben. Nur die beiden äßeren links und rechts sollen sich gleichmäßig anpassen. Ich teste schon die ganze Zeit im Formular rum, bekomme es aber mit den Allign und Anchors nicht richtig hin. Geht das überhaubt? Oder muss ich das per Hand ausrechnen bei "onResize" Event vom Formular? Thorsten |
AW: Größe des Forms verändern und anordnen der Scrollboxen
.. das linke Feld -- Alignment alLeft
.. das mittlere -- Alignment alNone .. das rechte Feld -- Alignment alRight und ein wenig rechnen:
Delphi-Quellcode:
Grüße
// Panel3 == mittleres Panel
procedure TForm1.Panel1Resize(Sender: TObject); // linkes Panel begin (sender as TPanel).Width := Panel3.Left; end; procedure TForm1.Panel2Resize(Sender: TObject); //rechtes Panel begin (Sender as TPanel).left := Panel3.Width + Panel3.Left; end; Klaus |
AW: Größe des Forms verändern und anordnen der Scrollboxen
alLeft | optional: alLeft-Splitter | alLeft | alClient
oder TGridPanel und die mittlere Column auf Absolut TGridPanel: Achtung, das setzen der ssPercent ist immernoch absolut pervers unteridrisch demotivierend frustrierend ... am Einfachsten in der DFM ändern (Strg+Alt+F12) |
AW: Größe des Forms verändern und anordnen der Scrollboxen
Hallo Klaus,
Hallo himitsu, Danke für eure Antworten. Also doch immernoch Handarbeit für das Anordnen im Resize. Ich dachte durch das Allignment mit den Panelrastern könnte man das mittlerweile automatisch machen lassen. Ich habe es jetzt gerade so gemacht: procedure TForm1.FormResize(Sender: TObject); var CheckFormWidth : integer; const conMitte : integer = 500; begin // Ist die Form zu klein passe es an // if (Sender as TForm).Width < (300 + conMitte + 300) then (Sender as TForm).Width:= (300 + conMitte + 300); if (Sender as TForm).Height < (850) then (Sender as TForm).Height := 850; SBMitte.Width:= conMitte; // Mitte fest auf 440 CheckFormWidth := (Sender as TForm).Width; // Sichere die Form Breite SBLinks.Width := (CheckFormWidth - conMitte) div 2; SBMitte.Left := SBLinks.Width; SBRechts.Left := SBLinks.Width + conMitte; SBRechts.Width := CheckFormWidth - (SBLinks.Width + conMitte); end; Thorsten |
AW: Größe des Forms verändern und anordnen der Scrollboxen
Zitat:
|
AW: Größe des Forms verändern und anordnen der Scrollboxen
Zitat:
|
AW: Größe des Forms verändern und anordnen der Scrollboxen
Zitat:
|
AW: Größe des Forms verändern und anordnen der Scrollboxen
Zitat:
|
AW: Größe des Forms verändern und anordnen der Scrollboxen
Zitat:
Diese Option in diesem Unterforum übersehen alle immer (jetzt noch ein paar Stunden lang im erweiterten Editor editierbar) und unglücklich ist, dass es standardmäßig auf D5 steht, anstatt auf "leer" oder dem was aktuell im Profil hinterlegt ist. [edit] Ups, Uwe übersehn :oops: PS: In der Komponentenpalette nach "Panel" suchen ... gibt da noch ein paar mehr "neuere" Panels Layoutkomponenten (die fast alle Panel heißen). Und im Firemonkey nennt sich das "Layout", wonach man dort schauen könnte. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:47 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