Sign in Join
Wiki copytemporary

TScrollBar/fr: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: TScrollBar/fr

OldNewLine
1+Un **TScrollBar** ![](/wiki-images/c/c4/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*).
2+
3+# Usage
4+
5+Pour utiliser un TScrollBar sur une [[TForm/fr|fiche]], vous pouvez simplement le sélectionner sur l'[[Standard tab/fr|onglet Standard]] de la [[Component Palette/fr|palette de composants]] et le placer en cliquant sur la fiche.
6+
7+# Petit exemple
8+
9+Déplacez sur image sur votre fiche selon les positions du ScrollBar.
10+
11+- Placez deux ScrollBars sur votre fiche.
12+- Dans l'inspecteur d'objet, modifiez les propriétés du premier ScrollBar "Name" en "sbVert", "Kind" en "sbVertical" et "Align" en "alRight"
13+- Dans l'inspecteur d'objet, modifiez les propriétés du second ScrollBar "Name" en "sbHori" et "Align" en "alBottom".
14+- Ajoutez un [[TPaintBox/fr|TPaintBox]] (onglet Additional de la palette de composants) à la fiche et définissez sa propriété "align" en "alClient".
15+- Ajoutez un [[TImageList/fr|TImageList]] (onglet Coommion controls de la palette de composants) sur la fiche.
16+- Chargez une image dans l'ImageList:
17+ - Cliquez droit sur ImageList1 et sélectionner *l'éditeur de liste d'image...* depuis le menu pop-up.
18+ - 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)
19+ - Terminez votre sélection avec *OK*.
20+- 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 :
21+
22+``` pascal
23+procedure TForm1.PaintBox1Paint(Sender: TObject);
24+begin
25+ ImageList1.Draw(
26+ Paintbox1.Canvas,
27+ sbHori.Position * (PaintBox1.ClientWidth - ImageList1.Width) div sbHori.Max,
28+ sbVert.Position * (Paintbox1.ClientHeight - ImageList1.Height) div sbVert.Max,
29+ 0);
30+end;
31+```
32+
33+- 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.
34+
35+``` pascal
36+procedure TForm1.sbVertChange(Sender: TObject);
37+begin
38+ RePaint;
39+end;
40+```
41+
42+Votre petit programme pourrait ressembler à ceci :
43+
44+![](/wiki-images/c/cb/ScrollBarExample.png)
45+
46+# Voir aussi
47+
48+- [[doc:lcl/stdctrls/tscrollbar.html|Doc. TScrollBar]]
49+- [[TTrackBar/fr|TTrackBar]]
50+- [[TScrollBox/fr|TScrollBox]]
51+
52+---
53+*From the Free Pascal wiki, page "TScrollBar/fr", as it stood on 2020-03-01 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history