Difference between revisions of "TSplitter/de"
m (Fixed syntax highlighting; deleted category included in page template) |
|||
(11 intermediate revisions by 2 users not shown) | |||
Line 29: | Line 29: | ||
==Das Gleiche als Code== | ==Das Gleiche als Code== | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
procedure TMainForm.FormCreate(Sender: TObject); | procedure TMainForm.FormCreate(Sender: TObject); | ||
var | var | ||
− | Memo1: TMemo; | + | Memo1, Memo2: TMemo; |
− | Splitter1: TSplitter | + | Splitter1: TSplitter; |
− | |||
begin | begin | ||
− | Memo1:=TMemo.Create(Self); | + | Memo1 := TMemo.Create(Self); |
with Memo1 do begin | with Memo1 do begin | ||
− | Name:='Memo1'; | + | Name := 'Memo1'; |
− | Parent:=Self; | + | Parent := Self; |
− | Align:=alLeft; | + | Align := alLeft; |
end; | end; | ||
− | Splitter1:=TSplitter.Create(Self); | + | Splitter1 := TSplitter.Create(Self); |
with Splitter1 do begin | with Splitter1 do begin | ||
− | Name:='Splitter1'; | + | Name := 'Splitter1'; |
− | Parent:=Self; | + | Parent := Self; |
− | Left:=1; // position it right of Memo1 | + | Left := 1; // position it right of Memo1 |
− | Align:=alLeft; | + | Align := alLeft; |
end; | end; | ||
− | Memo2:=TMemo.Create(Self); | + | Memo2 := TMemo.Create(Self); |
with Memo2 do begin | with Memo2 do begin | ||
− | Name:='Memo2'; | + | Name := 'Memo2'; |
− | Parent:=Self; | + | Parent := Self; |
− | Align:=alClient; | + | Align := alClient; |
end; | end; | ||
end; | end; | ||
Line 79: | Line 78: | ||
==Das Gleiche als Code== | ==Das Gleiche als Code== | ||
− | <syntaxhighlight> | + | <syntaxhighlight lang=pascal> |
procedure TMainForm.FormCreate(Sender: TObject); | procedure TMainForm.FormCreate(Sender: TObject); | ||
var | var | ||
− | Memo1: TMemo; | + | Memo1, Memo2: TMemo; |
− | Splitter1: TSplitter | + | Splitter1: TSplitter; |
− | |||
begin | begin | ||
− | Memo1:=TMemo.Create(Self); | + | Memo1 := TMemo.Create(Self); |
with Memo1 do begin | with Memo1 do begin | ||
− | Name:='Memo1'; | + | Name := 'Memo1'; |
− | Parent:=Self; | + | Parent := Self; |
− | Align:=alLeft; | + | Align := alLeft; |
end; | end; | ||
− | Splitter1:=TSplitter.Create(Self); | + | Splitter1 := TSplitter.Create(Self); |
with Splitter1 do begin | with Splitter1 do begin | ||
− | Name:='Splitter1'; | + | Name := 'Splitter1'; |
− | Parent:=Self; | + | Parent := Self; |
− | Align:=alNone; | + | Align := alNone; |
− | Left:=100; // some value | + | Left := 100; // some value |
− | AnchorParallel(akBottom,0,Parent); | + | AnchorParallel(akBottom, 0, Parent); |
end; | end; | ||
− | Memo1.AnchorToNeighbour(akRight,0,Splitter1); | + | Memo1.AnchorToNeighbour(akRight, 0, Splitter1); |
− | Memo2:=TMemo.Create(Self); | + | Memo2 := TMemo.Create(Self); |
with Memo2 do begin | with Memo2 do begin | ||
− | Name:='Memo2'; | + | Name := 'Memo2'; |
− | Parent:=Self; | + | Parent := Self; |
− | Align:=alRight; | + | Align := alRight; |
− | AnchorToNeighbour(akLeft,0,Splitter1); | + | AnchorToNeighbour(akLeft, 0, Splitter1); |
end; | end; | ||
end; | end; | ||
Line 112: | Line 110: | ||
− | {{LCL Components Footer| | + | {{LCL Components/de Footer|TXMLPropStorage/de|TBarChart/de}} |
− | {{LCL Components}} | + | {{LCL Components/de}} |
− | |||
− | |||
− | |||
− |
Latest revision as of 02:29, 2 March 2020
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
русский (ru) │
Ein vertikaler oder horizontaler Balken auf einem Panel oder Formular platziert, um Unterpanel funktionell zu trennen
TSplitter
Die LCL Komponente TSplitter 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.
TSplitter kann grundsätzlich in zwei verschiedenen Modi arbeiten: über Align (ausrichten - analog Delphi) oder über AnchorSides (nicht von Delphi unterstützt).
Splitter und Align
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.
Das folgende Beispiel zeigt dies.
Mit Formdesigner
- erstellen Sie eine neue Form
- fügen Sie dieser ein TMemo hinzu (zum auswählen Links-Klick auf das TMemo Symbol (Komponentenplatte Standard), dann Links-Klick auf die Form)
- ändern Sie im Objekt Inspektor die Eigenschaft Align von Memo1 zu alLeft
- fügen Sie ein TSplitter der Form hinzu
- das Standard-Align ist bereits alLeft
- fügen Sie erneut ein TMemo der Form hinzu
- ändern Sie im Objekt Inspektor das Align von Memo2 zu alClient
Das Gleiche als Code
procedure TMainForm.FormCreate(Sender: TObject);
var
Memo1, Memo2: TMemo;
Splitter1: TSplitter;
begin
Memo1 := TMemo.Create(Self);
with Memo1 do begin
Name := 'Memo1';
Parent := Self;
Align := alLeft;
end;
Splitter1 := TSplitter.Create(Self);
with Splitter1 do begin
Name := 'Splitter1';
Parent := Self;
Left := 1; // position it right of Memo1
Align := alLeft;
end;
Memo2 := TMemo.Create(Self);
with Memo2 do begin
Name := 'Memo2';
Parent := Self;
Align := alClient;
end;
end;
Splitter mit AnchorSides
AnchorSides (Seitenverankerung) ermöglicht ein feiner abgestimmtes Layout. Align füllt den ganzen Raum. AnchorSides erlauben, Bedienelemente an nebenan liegende Bedienelemente zu verankern.
Mit Formdesigner
- erstellen Sie eine neue Form
- fügen Sie dieser ein TMemo hinzu (zum auswählen Links-Klick auf das TMemo Symbol (Komponentenplatte Standard), dann Links-Klick auf die Form)
- ändern Sie im Objekt Inspektor die Eigenschaft Align von Memo1 zu alLeft
- fügen Sie ein TSplitter der Form hinzu
- ändern Sie die Eigenschaft Align von Splitter1 auf alNone
- Klicken Sie auf Ihrer Form das Memo1 mit einem Rechtsklick an
- und wählen Sie den Popupmenüpunkt "Ankereditor anzeigen" aus (alternativ: im Objektinspektor Button [...] bei Memo1 -> Anchors)
- verankern Sie die rechte Seite von Memo1 mit Splitter1
- fügen Sie erneut ein TMemo der Form hinzu
- ändern Sie im Objekt Inspektor das Align von Memo2 zu alRight
- 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)
Das Gleiche als Code
procedure TMainForm.FormCreate(Sender: TObject);
var
Memo1, Memo2: TMemo;
Splitter1: TSplitter;
begin
Memo1 := TMemo.Create(Self);
with Memo1 do begin
Name := 'Memo1';
Parent := Self;
Align := alLeft;
end;
Splitter1 := TSplitter.Create(Self);
with Splitter1 do begin
Name := 'Splitter1';
Parent := Self;
Align := alNone;
Left := 100; // some value
AnchorParallel(akBottom, 0, Parent);
end;
Memo1.AnchorToNeighbour(akRight, 0, Splitter1);
Memo2 := TMemo.Create(Self);
with Memo2 do begin
Name := 'Memo2';
Parent := Self;
Align := alRight;
AnchorToNeighbour(akLeft, 0, Splitter1);
end;
end;
Gehe zurück zu: LCL Components | — Komponente zuvor: TXMLPropStorage/de | Nächste Komponente: TBarChart/de |