TScrollBar/de

From Lazarus wiki
Jump to: navigation, search

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

Diese Seite erklärt, wie man die TScrollBar Komponente verwendet. Auf etwas klicken bedeutet immer ein Linksklick, ein Rechtsklick wird explizit erwähnt.

Beschreibung

Ein Steuerelement, welches dem Benutzer erlaubt, den Inhalt eines zugeordneten Steuerelements zu blättern, indem dieser einen Schieberegler verschiebt.

Comp Standard TScrollBar.png

Verwendung

Um eine Komponente TScrollBar auf einem Formular zu nutzen, können sie diese einfach auf der Komponentenpalette Standard auswählen und, mit einem Klick auf das Formular, platzieren.

Kleines Beispiel

Verschieben Sie ein Image auf Ihrem Formular in Abhängigkeit der Scrollbarpositionen

  • platzieren Sie zwei TScrollBars auf Ihrem Formular
  • ändern Sie im Objektinspektor die Eigenschaften der ersten Scrollbar Name in sbVert, Kind in sbVertical und Align in alRight
  • ändern Sie im Objektinspektor die Eigenschaften der zweiten Scrollbar Name in sbHori und Align in alBottom
  • fügen Sie eine TPaintBox (Komponentenpalette Additional) dem Formular hinzu und stellen Sie dessen Align auf alClient
  • fügen Sie noch eine TImageList (Komponentenpalette Common Controls) dem Formular hinzu
  • laden Sie ein Image in die ImageList:
    • rechtsklicken Sie die ImageList1 und wählen Sie den ImageList-Editor... im Popupmenü aus
    • klicken Sie auf Hinzufügen und wählen ein Image (möglichst ein kleines Icon 16x16 z.B. unter Lazarus/Images/icons/lazarus16x16)
    • beenden Sie Ihre Wahl mit OK
  • wählen Sie Ihre PaintBox an und erstellen Sie im Objektinspektor unter Ereignisse den Eventhandler für das Ereignis OnPaint und schreiben Sie folgenden Quelltext hinein:
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;
  • nun lassen Sie bei jeder Änderung der Scrollbarpositionen das Formular neu zeichnen, indem Sie den Eventhandler OnChange für eine ScrollBar erstellen und diesen für die andere Scrollbar ebenfalls aufrufen:
procedure TForm1.sbVertChange(Sender: TObject);
begin
  RePaint;
end;

So könnte Ihr kleines Programm aussehen:

ScrollBarExample.png

Siehe auch

TTrackBar
TScrollBox


Gehe zurück zu: LCL Components  — Komponente zuvor: TComboBox/de Nächste Komponente: TGroupBox/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

--Michl 12:50, 12 June 2014 (CEST)