Sign in Join
Wiki copytemporary

TSplitter/de: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: TSplitter/de

OldNewLine
1+Ein vertikaler oder horizontaler Balken auf einem Panel oder Formular platziert, um Unterpanel funktionell zu trennen\
2+
3+# TSplitter
4+
5+Die LCL Komponente [TSplitter](http://lazarus-ccr.sourceforge.net/docs/lcl/extctrls/tsplitter.html) kann als visuelle Trennlinie zwischen zwei Hälften des Formulars verwendet werden und ermöglicht dem Benutzer diese entweder vertikal oder horizontal zu bewegen. Es ist in der Unit **ExtCtrls** definiert und befindet sich auf der IDE Komponentenpalette *Additional*.
6+
7+TSplitter kann grundsätzlich in zwei verschiedenen Modi arbeiten: über [[Autosize / Layout|Align]] (ausrichten - analog Delphi) oder über [[Autosize / Layout|AnchorSides]] (nicht von Delphi unterstützt).
8+
9+# Splitter und Align
10+
11+Align kann für viele einfache Layouts wie zwei Bedienelemente oder einer Reihe von Bedienelementen verwendet werden. Zum Beispiel, wenn sie frei bewegbare Bedienelemente, wie ein Memo oder Listbox benötigen.
12+
13+Das folgende Beispiel zeigt dies.
14+
15+## Mit Formdesigner
16+
17+1. erstellen Sie eine neue [[TForm/de|Form]]
18+2. fügen Sie dieser ein [[TMemo]] hinzu (zum auswählen Links-Klick auf das TMemo Symbol (Komponentenplatte Standard), dann Links-Klick auf die Form)
19+3. ändern Sie im Objekt Inspektor die Eigenschaft Align von Memo1 zu alLeft
20+4. fügen Sie ein TSplitter der Form hinzu
21+5. das Standard-Align ist bereits alLeft
22+6. fügen Sie erneut ein TMemo der Form hinzu
23+7. ändern Sie im Objekt Inspektor das Align von Memo2 zu alClient
24+
25+## Das Gleiche als Code
26+
27+``` pascal
28+procedure TMainForm.FormCreate(Sender: TObject);
29+var
30+ Memo1, Memo2: TMemo;
31+ Splitter1: TSplitter;
32+begin
33+ Memo1 := TMemo.Create(Self);
34+ with Memo1 do begin
35+ Name := 'Memo1';
36+ Parent := Self;
37+ Align := alLeft;
38+ end;
39+ Splitter1 := TSplitter.Create(Self);
40+ with Splitter1 do begin
41+ Name := 'Splitter1';
42+ Parent := Self;
43+ Left := 1; // position it right of Memo1
44+ Align := alLeft;
45+ end;
46+ Memo2 := TMemo.Create(Self);
47+ with Memo2 do begin
48+ Name := 'Memo2';
49+ Parent := Self;
50+ Align := alClient;
51+ end;
52+end;
53+```
54+
55+# Splitter mit AnchorSides
56+
57+AnchorSides (Seitenverankerung) ermöglicht ein feiner abgestimmtes Layout. Align füllt den ganzen Raum. AnchorSides erlauben, Bedienelemente an nebenan liegende Bedienelemente zu verankern.
58+
59+## Mit Formdesigner
60+
61+1. erstellen Sie eine neue [[TForm/de|Form]]
62+2. fügen Sie dieser ein [[TMemo]] hinzu (zum auswählen Links-Klick auf das TMemo Symbol (Komponentenplatte Standard), dann Links-Klick auf die Form)
63+3. ändern Sie im Objekt Inspektor die Eigenschaft Align von Memo1 zu alLeft
64+4. fügen Sie ein TSplitter der Form hinzu
65+5. ändern Sie die Eigenschaft Align von Splitter1 auf alNone
66+6. Klicken Sie auf Ihrer Form das Memo1 mit einem Rechtsklick an
67+7. und wählen Sie den Popupmenüpunkt "Ankereditor anzeigen" aus (alternativ: im Objektinspektor Button \[...\] bei Memo1 -\> Anchors)
68+8. verankern Sie die rechte Seite von Memo1 mit Splitter1
69+9. fügen Sie erneut ein TMemo der Form hinzu
70+10. ändern Sie im Objekt Inspektor das Align von Memo2 zu alRight
71+11. verankern Sie die linke Seite von Memo2 mit Splitter1. Stellen Sie sicher, dass Sie die rechte Seite von Splitter1 verankern (der Button auf dem Anker Editor unter der Combobox)
72+
73+## Das Gleiche als Code
74+
75+``` pascal
76+procedure TMainForm.FormCreate(Sender: TObject);
77+var
78+ Memo1, Memo2: TMemo;
79+ Splitter1: TSplitter;
80+begin
81+ Memo1 := TMemo.Create(Self);
82+ with Memo1 do begin
83+ Name := 'Memo1';
84+ Parent := Self;
85+ Align := alLeft;
86+ end;
87+ Splitter1 := TSplitter.Create(Self);
88+ with Splitter1 do begin
89+ Name := 'Splitter1';
90+ Parent := Self;
91+ Align := alNone;
92+ Left := 100; // some value
93+ AnchorParallel(akBottom, 0, Parent);
94+ end;
95+ Memo1.AnchorToNeighbour(akRight, 0, Splitter1);
96+ Memo2 := TMemo.Create(Self);
97+ with Memo2 do begin
98+ Name := 'Memo2';
99+ Parent := Self;
100+ Align := alRight;
101+ AnchorToNeighbour(akLeft, 0, Splitter1);
102+ end;
103+end;
104+```
105+
106+---
107+*From the Free Pascal wiki, page "TSplitter/de", as it stood on 2020-03-02 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history