TScrollBar/fr

From Lazarus wiki
Jump to navigationJump to search

Deutsch (de) English (en) suomi (fi) français (fr)

Un TScrollBar tscrollbar.png est un contrôle qui permet à l'utilisateur de défiler le contenu d'un contrôle associé en déplaçant un curseur (slider).

Usage

Pour utiliser un TScrollBar sur une fiche, vous pouvez simplement le sélectionner sur l'onglet Standard de la palette de composants et le placer en cliquant sur la fiche.

Petit exemple

Déplacez sur image sur votre fiche selon les positions du ScrollBar.

  • Placez deux ScrollBars sur votre fiche.
  • Dans l'inspecteur d'objet, modifiez les propriétés du premier ScrollBar "Name" en "sbVert", "Kind" en "sbVertical" et "Align" en "alRight"
  • Dans l'inspecteur d'objet, modifiez les propriétés du second ScrollBar "Name" en "sbHori" et "Align" en "alBottom".
  • Ajoutez un TPaintBox (onglet Additional de la palette de composants) à la fiche et définissez sa propriété "align" en "alClient".
  • Ajoutez un TImageList (onglet Coommion controls de la palette de composants) sur la fiche.
  • Chargez une image dans l'ImageList:
    • Cliquez droit sur ImageList1 et sélectionner l'éditeur de liste d'image... depuis le menu pop-up.
    • Cliquez sur Ajouter et sélectionner une image (de préférence une petite icône de 16x16 par exemple, dans le répertoire Lazarus/images/icons/lazarus16x16)
    • Terminez votre sélection avec OK.
  • Choisissez votre PaintBox, dans l'inspecteur d'objet, dans l'onglet Evénements, créez le gestionnaire d'événément pour OnPaint et écrivez le code suivant :
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
  ImageList1.Draw(
    Paintbox1.Canvas,
    sbHori.Position * (PaintBox1.ClientWidth  - ImageList1.Width)  div sbHori.Max,
    sbVert.Position * (Paintbox1.ClientHeight - ImageList1.Height) div sbVert.Max,
    0);
end;
  • Maintenant faites que tout changement des positions des Scrollbar repeignent la fiche : créez le gestionnaire d'événement OnChange pour un ScrollBar et appelez-le aussi pour l'autre Scrollbar.
procedure TForm1.sbVertChange(Sender: TObject);
begin
  RePaint;
end;

Votre petit programme pourrait ressembler à ceci :

ScrollBarExample.png

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