Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Größe des Forms verändern und anordnen der Scrollboxen (https://www.delphipraxis.net/214231-groesse-des-forms-veraendern-und-anordnen-der-scrollboxen.html)

tdeck 8. Dez 2023 08:48

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

Klaus01 8. Dez 2023 09:20

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:
// 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;
Grüße
Klaus

himitsu 8. Dez 2023 09:38

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)

tdeck 8. Dez 2023 10:40

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

Uwe Raabe 8. Dez 2023 11:01

AW: Größe des Forms verändern und anordnen der Scrollboxen
 
Zitat:

Zitat von tdeck (Beitrag 1530570)
Also doch immernoch Handarbeit für das Anordnen im Resize.

Frank hatte doch den Hinweis auf TGridPanel gegeben. Das ist sogar ziemlich gut für diesen Anwendungsfall geeignet ohne auch nur eine Zeile Code für die Größenanpassung zu benötigen.

Jasocul 8. Dez 2023 11:24

AW: Größe des Forms verändern und anordnen der Scrollboxen
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1530575)
Zitat:

Zitat von tdeck (Beitrag 1530570)
Also doch immernoch Handarbeit für das Anordnen im Resize.

Frank hatte doch den Hinweis auf TGridPanel gegeben. Das ist sogar ziemlich gut für diesen Anwendungsfall geeignet ohne auch nur eine Zeile Code für die Größenanpassung zu benötigen.

Gab es in Delphi 5 meines Wissens noch nicht und tdeck hat das oben als Version vorgegeben.

tdeck 8. Dez 2023 11:31

AW: Größe des Forms verändern und anordnen der Scrollboxen
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1530575)
Zitat:

Zitat von tdeck (Beitrag 1530570)
Also doch immernoch Handarbeit für das Anordnen im Resize.

Frank hatte doch den Hinweis auf TGridPanel gegeben. Das ist sogar ziemlich gut für diesen Anwendungsfall geeignet ohne auch nur eine Zeile Code für die Größenanpassung zu benötigen.

OK, das muss ich mir mal anschauen. Damit hatte ich noch nicht gearbeitet.

Uwe Raabe 8. Dez 2023 11:36

AW: Größe des Forms verändern und anordnen der Scrollboxen
 
Zitat:

Zitat von Jasocul (Beitrag 1530580)
Gab es in Delphi 5 meines Wissens noch nicht und tdeck hat das oben als Version vorgegeben.

Das ist einfach nur die Voreinstellung, die man auf die entsprechende Version ändern müsste - kaum einer tut das allerdings. Ich schaue lieber auf die Version im Profil.

himitsu 8. Dez 2023 15:10

AW: Größe des Forms verändern und anordnen der Scrollboxen
 
Zitat:

Zitat von Jasocul (Beitrag 1530580)
Gab es in Delphi 5 meines Wissens noch nicht und tdeck hat das oben als Version vorgegeben.

Links, im Profil steht D11 :zwinker:

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 18:07 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