Difference between revisions of "TSplitter/fr"

From Lazarus wiki
Jump to navigationJump to search
m (Corrigé coquilles)
 
(6 intermediate revisions by 2 users not shown)
Line 3: Line 3:
 
Un TSplitter [[image:tsplitter.png]] est un composant qui peut être placé sur un panneau ou une fiche telle une barre horizontale ou verticale pour séparer fonctionnellement deux panneaux.
 
Un TSplitter [[image:tsplitter.png]] est un composant qui peut être placé sur un panneau ou une fiche telle une barre horizontale ou verticale pour séparer fonctionnellement deux panneaux.
  
Le contrôle pet être utilisa comme un séparateur visuel entre deux moitié de votre fiche et permet à l'utilisateur de votre application de la déplacer soit horizontalement soit verticalement. Il se trouve [[Additional tab/fr|onglet Additional]] de la [[Component Palette/fr|palette de composant]].
+
Le contrôle peut être utilisé comme un séparateur visuel entre deux moitiés de votre fiche et permet à l'utilisateur de votre application de le déplacer soit horizontalement soit verticalement. {{ComponentTab/fr|TSplitter|Additional}}..
  
 
TSplitter peut fonctionner basiquement dans deux modes différents : via [[Autosize / Layout/fr#Align|Align]] (manière Delphi) ou via [[Autosize / Layout/fr#Anchor_Sides|AnchorSides]] (manière différente).
 
TSplitter peut fonctionner basiquement dans deux modes différents : via [[Autosize / Layout/fr#Align|Align]] (manière Delphi) ou via [[Autosize / Layout/fr#Anchor_Sides|AnchorSides]] (manière différente).
  
 
= Splitter et Align =
 
= Splitter et Align =
La propriété Align peut être utilisé pour de simples agencements comme deux contrôles ou un lignes de contrôles. Par exemple quand vous avez besoin de quelques contrôles librement redimensionnables tels un mémo et un ListBox.  
+
La propriété Align peut être utilisée pour de simples agencements comme deux contrôles ou un lignes de contrôles. Par exemple quand vous avez besoin de quelques contrôles librement redimensionnables tels un mémo et un ListBox.  
  
 
L'exemple suivant vous montre comment.
 
L'exemple suivant vous montre comment.
  
 
== En conception ==
 
== En conception ==
# créez une nouvelle [[TForm/fr|fiche]]
+
# Créez une nouvelle [[TForm/fr|fiche]].
 
# Placez un [[TMemo/fr|TMemo]] sur la fiche (clic gauche sur l'icône du TMemo dans la palette de composant pour le sélectionner, puis clic gauche sur la fiche).
 
# Placez un [[TMemo/fr|TMemo]] sur la fiche (clic gauche sur l'icône du TMemo dans la palette de composant pour le sélectionner, puis clic gauche sur la fiche).
 
# Dans l'inspecteur d'objet définissez la propriété Align du Memo1 à alLeft.
 
# Dans l'inspecteur d'objet définissez la propriété Align du Memo1 à alLeft.
# Placez un TSplitter suer la fiche.
+
# Placez un TSplitter sur la fiche.
 
# L'alignement par défaut est déjà alLeft.
 
# L'alignement par défaut est déjà alLeft.
 
# Placez un autre TMemo sur la fiche.
 
# Placez un autre TMemo sur la fiche.
Line 22: Line 22:
  
 
== A l'exécution ==
 
== A l'exécution ==
 +
 
Vous pouvez aussi réaliser cela par code au lieu de le faire en conception :
 
Vous pouvez aussi réaliser cela par code au lieu de le faire en conception :
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang=pascal>
 
procedure TMainForm.FormCreate(Sender: TObject);
 
procedure TMainForm.FormCreate(Sender: TObject);
 
var
 
var
Line 53: Line 55:
  
 
= Splitter avec AnchorSides =
 
= Splitter avec AnchorSides =
Anchor sides allows more fine tuned layouts. Align fills all the space. AnchorSides allow to anchor controls to any other sibling control.
+
L'ancrage des côtés permet des agencements plus précis. Alors que la propriété Align remplit tout l'espace, AnchorSides permet d'ancrer des contrôles à un autre contrôle partageant le même parent.
  
 
== En conception ==
 
== En conception ==
#create a new [[TForm|form]]
+
# Créez une nouvelle [[TForm/fr|fiche]].
#drop a [[TMemo]] on a form (left click on the TMemo icon in component paletter to select, then left click on the form)
+
# Placez un [[TMemo/fr|TMemo]] sur la fiche (clic gauche sur l'icône du TMemo dans la palette de composant pour le sélectionner, puis clic gauche sur la fiche).
#set in Object Inspector Align of Memo1 to alLeft
+
# Dans l'inspecteur d'objet définissez la propriété Align du Memo1 à alLeft.
#drop a TSplitter on a form
+
# Placez un TSplitter sur la fiche.
#set the Align property of the Splitter1 to alNone
+
# Définissez son alignement (propriété ''Align'') à alNone.
#select the Memo1
+
# Sélectionnez le Memo1.
#View -> Anchor Editor
+
# Voir -> Editeur d'ancre.
#anchor the right side of Memo1 to the Splitter1
+
# Ancrer le côté gauche du Memo1 au Splitter1.
#drop another TMemo on the form.
+
# Placez un autre TMemo sur la fiche.
#set the Align property of Memo2 to alRight.
+
# Dans l'inspecteur d'objet définissez la propriété ''Align'' du Memo2 à 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).
+
# Ancrez le côté gauche de Memo2 à Splitter1. Assurez-vous d'ancrer au côté droit du Splitter1 (le bouton de l'éditeur d'ancre en dessous du Combobox)/
  
 
== A l'exécution ==
 
== A l'exécution ==
 +
 
Vous pouvez aussi réaliser les mêmes actions comne ci-dessus par le code au lieu de le faire avec l'inspecteur d'objet en conception :
 
Vous pouvez aussi réaliser les mêmes actions comne ci-dessus par le code au lieu de le faire avec l'inspecteur d'objet en conception :
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang=pascal>
 
procedure TMainForm.FormCreate(Sender: TObject);
 
procedure TMainForm.FormCreate(Sender: TObject);
 
var
 
var

Latest revision as of 13:02, 7 March 2021

Deutsch (de) English (en) suomi (fi) français (fr) русский (ru)

Un TSplitter tsplitter.png est un composant qui peut être placé sur un panneau ou une fiche telle une barre horizontale ou verticale pour séparer fonctionnellement deux panneaux.

Le contrôle peut être utilisé comme un séparateur visuel entre deux moitiés de votre fiche et permet à l'utilisateur de votre application de le déplacer soit horizontalement soit verticalement. Le composant TSplitter est disponible depuis l'onglet Additional de la palette de composants..

TSplitter peut fonctionner basiquement dans deux modes différents : via Align (manière Delphi) ou via AnchorSides (manière différente).

Splitter et Align

La propriété Align peut être utilisée pour de simples agencements comme deux contrôles ou un lignes de contrôles. Par exemple quand vous avez besoin de quelques contrôles librement redimensionnables tels un mémo et un ListBox.

L'exemple suivant vous montre comment.

En conception

  1. Créez une nouvelle fiche.
  2. Placez un TMemo sur la fiche (clic gauche sur l'icône du TMemo dans la palette de composant pour le sélectionner, puis clic gauche sur la fiche).
  3. Dans l'inspecteur d'objet définissez la propriété Align du Memo1 à alLeft.
  4. Placez un TSplitter sur la fiche.
  5. L'alignement par défaut est déjà alLeft.
  6. Placez un autre TMemo sur la fiche.
  7. Dans l'inspecteur d'objet définissez la propriété Align du Memo2 à alClient.

A l'exécution

Vous pouvez aussi réaliser cela par code au lieu de le faire en conception :

procedure TMainForm.FormCreate(Sender: TObject);
var
  Memo1: TMemo;
  Splitter1: TSplitter;
  Memo2: TMemo;
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 avec AnchorSides

L'ancrage des côtés permet des agencements plus précis. Alors que la propriété Align remplit tout l'espace, AnchorSides permet d'ancrer des contrôles à un autre contrôle partageant le même parent.

En conception

  1. Créez une nouvelle fiche.
  2. Placez un TMemo sur la fiche (clic gauche sur l'icône du TMemo dans la palette de composant pour le sélectionner, puis clic gauche sur la fiche).
  3. Dans l'inspecteur d'objet définissez la propriété Align du Memo1 à alLeft.
  4. Placez un TSplitter sur la fiche.
  5. Définissez son alignement (propriété Align) à alNone.
  6. Sélectionnez le Memo1.
  7. Voir -> Editeur d'ancre.
  8. Ancrer le côté gauche du Memo1 au Splitter1.
  9. Placez un autre TMemo sur la fiche.
  10. Dans l'inspecteur d'objet définissez la propriété Align du Memo2 à alRight.
  11. Ancrez le côté gauche de Memo2 à Splitter1. Assurez-vous d'ancrer au côté droit du Splitter1 (le bouton de l'éditeur d'ancre en dessous du Combobox)/

A l'exécution

Vous pouvez aussi réaliser les mêmes actions comne ci-dessus par le code au lieu de le faire avec l'inspecteur d'objet en conception :

procedure TMainForm.FormCreate(Sender: TObject);
var
  Memo1: TMemo;
  Splitter1: TSplitter;
  Memo2: TMemo;
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;

Voir aussi


Composant LCL
Onglet de palette Composants
Standard TMainMenu • TPopupMenu • TButton • TLabel • TEdit • TMemo • TToggleBox • TCheckBox • TRadioButton • TListBox • TComboBox • TScrollBar • TGroupBox • TRadioGroup • TCheckGroup • TPanel • TFrame • TActionList
Additional TBitBtn • TSpeedButton • TStaticText • TImage • TShape • TBevel • TPaintBox • TNotebook • TLabeledEdit • TSplitter • TTrayIcon • TControlBar • TFlowPanel • TMaskEdit • TCheckListBox • TScrollBox • TApplicationProperties • TStringGrid • TDrawGrid • TPairSplitter • TColorBox • TColorListBox • TValueListEditor
Common Controls TTrackBar • TProgressBar • TTreeView • TListView • TStatusBar • TToolBar • TCoolBar • TUpDown • TPageControl • TTabControl • THeaderControl • TImageList • TPopupNotifier • TDateTimePicker
Dialogs TOpenDialog • TSaveDialog • TSelectDirectoryDialog • TColorDialog • TFontDialog • TFindDialog • TReplaceDialog • TOpenPictureDialog • TSavePictureDialog • TCalendarDialog • TCalculatorDialog • TPrinterSetupDialog • TPrintDialog • TPageSetupDialog • TTaskDialog
Data Controls TDBNavigator • TDBText • TDBEdit • TDBMemo • TDBImage • TDBListBox • TDBLookupListBox • TDBComboBox • TDBLookupComboBox • TDBCheckBox • TDBRadioGroup • TDBCalendar • TDBGroupBox • TDBGrid • TDBDateTimePicker
Data Access TDataSource • TBufDataset • TMemDataset • TSdfDataSet • TFixedFormatDataSet • TDbf
System TTimer • TIdleTimer • TLazComponentQueue • THTMLHelpDatabase • THTMLBrowserHelpViewer • TAsyncProcess • TProcessUTF8 • TProcess • TSimpleIPCClient • TSimpleIPCServer • TXMLConfig • TEventLog • TServiceManager • TCHMHelpDatabase • TLHelpConnector
Misc TColorButton • TSpinEdit • TFloatSpinEdit • TArrow • TCalendar • TEditButton • TFileNameEdit • TDirectoryEdit • TDateEdit • TTimeEdit • TCalcEdit • TFileListBox • TFilterComboBox • TComboBoxEx • TCheckComboBox • TButtonPanel • TShellTreeView • TShellListView • TXMLPropStorage • TINIPropStorage • TIDEDialogLayoutStorage • TMRUManager • TStrHolder
LazControls TCheckBoxThemed • TDividerBevel • TExtendedNotebook • TListFilterEdit • TListViewFilterEdit • TTreeFilterEdit • TShortPathEdit • TLvlGraphControl
RTTI TTIEdit • TTIComboBox • TTIButton • TTICheckBox • TTILabel • TTIGroupBox • TTIRadioGroup • TTICheckGroup • TTICheckListBox • TTIListBox • TTIMemo • TTICalendar • TTIImage • TTIFloatSpinEdit • TTISpinEdit • TTITrackBar • TTIProgressBar • TTIMaskEdit • TTIColorButton • TMultiPropertyLink • TTIPropertyGrid • TTIGrid
SQLdb TSQLQuery • TSQLTransaction • TSQLScript • TSQLConnector • TMSSQLConnection • TSybaseConnection • TPQConnection • TPQTEventMonitor • TOracleConnection • TODBCConnection • TMySQL40Connection • TMySQL41Connection • TMySQL50Connection • TMySQL51Connection • TMySQL55Connection • TMySQL56Connection • TSQLite3Connection • TIBConnection • TFBAdmin • TFBEventMonitor • TSQLDBLibraryLoader
Pascal Script TPSScript • TPSScriptDebugger • TPSDllPlugin • TPSImport_Classes • TPSImport_DateUtils • TPSImport_ComObj • TPSImport_DB • TPSImport_Forms • TPSImport_Controls • TPSImport_StdCtrls • TPSCustomPlugin
SynEdit TSynEdit • 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
Chart TChart • TListChartSource • TRandomChartSource • TUserDefinedChartSource • TCalculatedChartSource • TDbChartSource • TChartToolset • TChartAxisTransformations • TChartStyles • TChartLegendPanel • TChartNavScrollBar • TChartNavPanel • TIntervalChartSource • TDateTimeIntervalChartSource • TChartListBox • TChartExtentLink • TChartImageList
IPro TIpFileDataProvider • TIpHttpDataProvider • TIpHtmlPanel