Horizontaler Slider und Form Resize

Rund um die LCL und andere Komponenten
Antworten
ard
Beiträge: 3
Registriert: Mo 30. Okt 2023, 22:23

Horizontaler Slider und Form Resize

Beitrag von ard »

Moin,

2 x TGroupBox und ein horizontaler TSplitter dazwischen

<Form>
<TGroupBox1>
<TSlider>
<TGroupBox2>

ich würde gerne die Höhe von TGroupBox2 nur über den TSlider ändern und nicht wenn die Größe des Fensters verändert wird. Geht das ?

wp_xyz
Beiträge: 4893
Registriert: Fr 8. Apr 2011, 09:01

Re: Horizontaler Slider und Form Resize

Beitrag von wp_xyz »

Was ist ein TSlider? Oder meinst du einen TSplitter?

Wenn es ein Splitter ist, wie ich meine, und dieser waagrecht verläuft, dann musst du das Align des Splitter und der unteren Groupbox auf alBottom setzen, damit die untere Groupbox nur mit dem Splitter in der Höhe verändert werden kann. Das Align der oberen Groupbox sollte auf alClient stehen. - Siehe beigefügtes Mini-Projekt. Falls der Splitter ganz am unteren Fensterrand liegt, musst du ihn im Form-Designer mit der Maus anfassen und über die untere Groupbox ziehen.

Falls mich meine wahrsagerischen Fähigkeiten getäuscht habem, mache doch einfach ein kleines Demo-Programm mit den benötigten Controls und lade das hier hoch (nur die .pas, .lfm, .lpr und .lpi Dateien in ein gemeinsames zip stecken und unter "Dateianhänge" hochladen)
Dateianhänge
groupbox_splitter.zip
(1.98 KiB) 69-mal heruntergeladen

ard
Beiträge: 3
Registriert: Mo 30. Okt 2023, 22:23

Re: Horizontaler Slider und Form Resize

Beitrag von ard »

>Was ist ein TSlider? Oder meinst du einen TSplitter?
Sorry, my fault

Funktioniert, vielen Dank

ich hatte die Anchors falsch gesetzt und Align ignoriert. Danke nochmal

ard
Beiträge: 3
Registriert: Mo 30. Okt 2023, 22:23

Re: Horizontaler Slider und Form Resize

Beitrag von ard »

noch eine Frage. Ich möchte die Position des Splitters Speichern.

Wenn ich in Deinem Projekt in FormCreate z.B. Splitter1.top := 100; setzte hat das keine Auswirkung.

wp_xyz
Beiträge: 4893
Registriert: Fr 8. Apr 2011, 09:01

Re: Horizontaler Slider und Form Resize

Beitrag von wp_xyz »

Ich setze da immer die entsprechende Dimension des nicht-client-alignten Controls, also des Controls, das primär vom Splitter verändert wird. In dem Beispiel wäre das die untere GroupBox (GroupBox2), und die relevante Dimension wäre die Höhe:

Code: Alles auswählen

 GroupBox2.Height := iniFile.ReadInteger('MainForm', 'Groupbox2.Height', Groupbox2.Height);

Antworten