Difference between revisions of "TSplitter/de"

From Lazarus wiki
Jump to navigationJump to search
m (Fixed syntax highlighting; deleted category included in page template)
 
(17 intermediate revisions by 3 users not shown)
Line 17: Line 17:
 
Das folgende Beispiel zeigt dies.
 
Das folgende Beispiel zeigt dies.
  
==Im Form designer==
+
==Mit Formdesigner==
  
 
#erstellen Sie eine neue [[TForm/de|Form]]
 
#erstellen Sie eine neue [[TForm/de|Form]]
Line 26: Line 26:
 
#fügen Sie erneut ein TMemo der Form hinzu
 
#fügen Sie erneut ein TMemo der Form hinzu
 
#ändern Sie im Objekt Inspektor das Align von Memo2 zu alClient
 
#ändern Sie im Objekt Inspektor das Align von Memo2 zu alClient
 
==Als lfm==
 
 
<syntaxhighlight>
 
  object Memo1: TMemo
 
    Left = 0
 
    Height = 141
 
    Top = 0
 
    Width = 150
 
    Align = alLeft
 
    Lines.Strings = (
 
      'Memo1'
 
    )
 
    TabOrder = 0
 
  end
 
  object Splitter1: TSplitter
 
    Left = 150
 
    Height = 141
 
    Top = 0
 
    Width = 5
 
  end
 
  object Memo2: TMemo
 
    Left = 155
 
    Height = 141
 
    Top = 0
 
    Width = 100
 
    Align = alClient
 
    Lines.Strings = (
 
      'Memo2'
 
    )
 
    TabOrder = 2
 
  end
 
</syntaxhighlight>
 
  
 
==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;
  Memo2: TMemo;
 
 
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 93: Line 59:
 
=Splitter mit AnchorSides=
 
=Splitter mit AnchorSides=
  
Anchor sides allows more fine tuned layouts. Align fills all the space. AnchorSides allow to anchor controls to any other sibling control.
+
AnchorSides (Seitenverankerung) ermöglicht ein feiner abgestimmtes Layout. Align füllt den ganzen Raum. AnchorSides erlauben, Bedienelemente an nebenan liegende Bedienelemente zu verankern.
  
==Example in IDE designer==
+
==Mit Formdesigner==
  
#create a new form
+
#erstellen Sie eine neue [[TForm/de|Form]]
#drop a TMemo on a form (left click on the TMemo icon in component paletter to select, then left click on the 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)
#set in Object Inspector Align of Memo1 to alLeft
+
#ändern Sie im Objekt Inspektor die Eigenschaft Align von Memo1 zu alLeft
#drop a TSplitter on a form
+
#fügen Sie ein TSplitter der Form hinzu
#set the Align property of the Splitter1 to alNone
+
#ändern Sie die Eigenschaft Align von Splitter1 auf alNone
#select the Memo1
+
#Klicken Sie auf Ihrer Form das Memo1 mit einem Rechtsklick an
#View -> Anchor Editor
+
#und wählen Sie den Popupmenüpunkt "Ankereditor anzeigen" aus (alternativ: im Objektinspektor Button [...] bei Memo1 -> Anchors)
#anchor the right side of Memo1 to the Splitter1
+
#verankern Sie die rechte Seite von Memo1 mit Splitter1
#drop another TMemo on the form.
+
#fügen Sie erneut ein TMemo der Form hinzu
#set the Align property of Memo2 to alRight.
+
#ändern Sie im Objekt Inspektor das Align von Memo2 zu alRight
#anchor the left side of Memo2 to Splitter1. Make sure to anchor to the right side of Splitter1 (the button on the Anchor editor below the combobox).
+
#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)
  
==In lfm==
 
  
The same as lfm:
+
==Das Gleiche als Code==
 
 
<syntaxhighlight>
 
  object Memo1: TMemo
 
    AnchorSideRight.Control = Splitter1
 
    Left = 0
 
    Height = 141
 
    Top = 0
 
    Width = 145
 
    Align = alLeft
 
    Anchors = [akTop, akLeft, akRight, akBottom]
 
    Lines.Strings = (
 
      'Memo1'
 
    )
 
    TabOrder = 0
 
  end
 
  object Splitter1: TSplitter
 
    Left = 145
 
    Height = 141
 
    Top = 0
 
    Width = 5
 
    Align = alNone
 
  end
 
  object Memo2: TMemo
 
    AnchorSideLeft.Control = Splitter1
 
    AnchorSideLeft.Side = asrBottom
 
    Left = 150
 
    Height = 141
 
    Top = 0
 
    Width = 105
 
    Align = alRight
 
    Anchors = [akTop, akLeft, akRight, akBottom]
 
    Lines.Strings = (
 
      'Memo2'
 
    )
 
    TabOrder = 2
 
  end
 
</syntaxhighlight>
 
  
==In code==
+
<syntaxhighlight lang=pascal>
 
 
The same in code:
 
<syntaxhighlight>
 
 
procedure TMainForm.FormCreate(Sender: TObject);
 
procedure TMainForm.FormCreate(Sender: TObject);
 
var
 
var
   Memo1: TMemo;
+
   Memo1, Memo2: TMemo;
   Splitter1: TSplitter;
+
   Splitter1:   TSplitter;
  Memo2: TMemo;
 
 
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;
 
</syntaxhighlight>
 
</syntaxhighlight>
  
[[Category:Lazarus]]
+
 
[[Category:IDE]]
+
{{LCL Components/de Footer|TXMLPropStorage/de|TBarChart/de}}
[[Category:GUI]]
+
{{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

  1. erstellen Sie eine neue Form
  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)
  3. ändern Sie im Objekt Inspektor die Eigenschaft Align von Memo1 zu alLeft
  4. fügen Sie ein TSplitter der Form hinzu
  5. das Standard-Align ist bereits alLeft
  6. fügen Sie erneut ein TMemo der Form hinzu
  7. ä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

  1. erstellen Sie eine neue Form
  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)
  3. ändern Sie im Objekt Inspektor die Eigenschaft Align von Memo1 zu alLeft
  4. fügen Sie ein TSplitter der Form hinzu
  5. ändern Sie die Eigenschaft Align von Splitter1 auf alNone
  6. Klicken Sie auf Ihrer Form das Memo1 mit einem Rechtsklick an
  7. und wählen Sie den Popupmenüpunkt "Ankereditor anzeigen" aus (alternativ: im Objektinspektor Button [...] bei Memo1 -> Anchors)
  8. verankern Sie die rechte Seite von Memo1 mit Splitter1
  9. fügen Sie erneut ein TMemo der Form hinzu
  10. ändern Sie im Objekt Inspektor das Align von Memo2 zu alRight
  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)


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
LCL Komponenten
Komponenten Tab Komponenten
Standard TMainMenu • TPopupMenu • TButton • TLabel • TEdit • TMemo • TToggleBox • TCheckBox • TRadioButton • TListBox • TComboBox • TScrollBar • TGroupBox • TRadioGroup • TCheckGroup • TPanel • TFrame • TActionList
Additional TBitBtn • TSpeedBtn • TStaticText • TImage • TShape • TBevel • TPaintBox • TNotebook • TLabeledEdit • TSplitter • TTrayIcon • TMaskEdit • TCheckListBox • TScrollBox • TApplicationProperties • TStringGrid • TDrawGrid • TPairSplitter • TColorBox • TColorListBox • TValueListEditor
Common Controls TTrackBar • TProgressBar • TTreeView • TListView • TStatusBar • TToolBar • TUpDown • TPageControl • TTabControl • THeaderControl • TImageList • TPopupNotifier
Dialogs TOpenDialog • TSaveDialog • TSelectDirectoryDialog • TColorDialog • TFontDialog • TFindDialog • TReplaceDialog • TOpenPictureDialog • TSavePictureDialog • TCalendarDialog • TCalculatorDialog • TPrinterSetupDialog • TPrintDialog • TPageSetupDialog
Data Controls TDBNavigator • TDBText • TDBEdit • TDBMemo • TDBImage • TDBListBox • TDBLookupListBox • TDBComboBox • TDBLookupComboBox • TDBCheckBox • TDBRadioGroup • TDBCalendar • TDBGroupBox • TDBGrid
System TTimer • TIdleTimer • TLazComponentQueue • THTMLHelpDatabase • THTMLBrowserHelpViewer • TAsyncProcess • TProcessUTF8 • TProcess • TSimpleIPCClient • TXMLConfig • TEventLog • TServiceManager
Misc TColorButton • TSpinEdit • TFloatSpinEdit • TArrow • TCalendar • TEditButton • TFileNameEdit • TDirectoryEdit • TDateEdit • TCalcEdit • TFileListBox • TFilterComboBox • TXMLPropStorage • TINIPropStorage • TBarChart • TButtonPanel • TShellTreeView • TShellListView • TIDEDialogLayoutStorage
Data Access TDatasource • TBufDataset • TMemDataset • TSdfDataset • TFixedFormatDataSet • TDbf
SynEdit TSynEdit • TSynMemo • TSynCompletion • TSynAutoComplete • TSynMacroRecorder • TSynExporterHTML • TsynPluginSyncroEdit • TSynPasSyn • TSynFreePascalSyn • TSynCppSyn • TSynJavaSyn • TSynPerlSyn • TSynHTMLSyn • TSynXMLSyn • TSynLFMSyn • TSynDiffSyn • TSynUNIXShellScriptSyn • TSynCssSyn • TSynPHPSyn • TSynTeXSyn • TSynSQLSyn • TSynPythonSyn • TSynVBSyn • TSynAnySyn • TSynMultiSyn • TSynBatSyn • TSynIniSyn • TSynPoSyn
LazControls TDividerBevel • TExtendedNotebook • TListFilterEdit • TTreeFilterEdit
RTTI TTIEdit • TTIComboBox • TTIButton • TTICheckBox • TTILabel • TTIGroupBox • TTIRadioGroup • TTICheckGroup • TTICheckListBox • TTIListBox • TTIMemo • TTICalendar • TTIImage • TTIFloatSpinEdit • TTISpinEdit • TTITrackBar • TTIProgressBar • TTIMaskEdit • TTIColorButton • TMultiPropertyLink • TTIPropertyGrid • TTIGrid
IPro TIpFileDataProvider • TIpHtmlPanel
Chart TChart • TListChartSource TRandomChartSource • TUserDefinedChartSource • TCalculatedChartSource • TDbChartSource • TChartToolset • TChartAxisTransformations • TChartStyles • TChartLegendPanel • TChartNavScrollBar • TChartNavPanel • TIntervalChartSource • TDateTimeIntervalChartSource • TChartListBox • TChartExtentLink • TChartImageList
SQLdb TSQLQuery • TSQLTransaction • TSQLScript • TSQLConnector • TMSSQLConnection • TSybaseConnection •TPQConnection • TPQTEventMonitor • TOracleConnection • TODBCConnection • TMySQL40Connection • TMySQL41Connection • TMySQL50Connection • TMySQL51Connection • TMySQL55Connection • TMySQL56Connection • TSQLite3Connection • TIBConnection • TFBAdmin • TFBEventMonitor • TSQLDBLibraryLoader