TScrollBar/de
From Lazarus wiki
Jump to navigationJump to search
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
日本語 (ja) │
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.
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:
Siehe auch
Gehe zurück zu: LCL Components | — Komponente zuvor: TComboBox/de | Nächste Komponente: TGroupBox/de |