Difference between revisions of "TScrollBar/de"
From Lazarus wiki
Jump to navigationJump to search (Added "Verwendung") |
m (Fixed syntax highlighting; deleted category included in page template) |
||
(One intermediate revision by one other user not shown) | |||
Line 14: | Line 14: | ||
====Kleines Beispiel==== | ====Kleines Beispiel==== | ||
+ | |||
Verschieben Sie ein Image auf Ihrem Formular in Abhängigkeit der Scrollbarpositionen | Verschieben Sie ein Image auf Ihrem Formular in Abhängigkeit der Scrollbarpositionen | ||
Line 23: | Line 24: | ||
* laden Sie ein Image in die ImageList: | * laden Sie ein Image in die ImageList: | ||
** rechtsklicken Sie die ImageList1 und wählen Sie den ''ImageList-Editor...'' im Popupmenü aus | ** 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) | + | ** 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'' | ** 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: | * 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: | ||
− | < | + | |
+ | <syntaxhighlight lang=pascal> | ||
procedure TForm1.PaintBox1Paint(Sender: TObject); | procedure TForm1.PaintBox1Paint(Sender: TObject); | ||
begin | begin | ||
Line 35: | Line 37: | ||
0); | 0); | ||
end; | end; | ||
− | </ | + | </syntaxhighlight> |
+ | |||
* 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: | * 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: | ||
− | < | + | |
+ | <syntaxhighlight lang=pascal> | ||
procedure TForm1.sbVertChange(Sender: TObject); | procedure TForm1.sbVertChange(Sender: TObject); | ||
begin | begin | ||
RePaint; | RePaint; | ||
end; | end; | ||
− | </ | + | </syntaxhighlight> |
+ | |||
So könnte Ihr kleines Programm aussehen: | So könnte Ihr kleines Programm aussehen: | ||
Line 54: | Line 59: | ||
{{LCL Components/de Footer |TComboBox/de|TGroupBox/de}} | {{LCL Components/de Footer |TComboBox/de|TGroupBox/de}} | ||
{{LCL Components/de}} | {{LCL Components/de}} | ||
− | |||
− | |||
− | |||
− | |||
− |
Latest revision as of 01:15, 2 March 2020
│
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 |