TImageList/fr: what changed
Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.
Title: TImageList/fr
| Old | New | Line | |
|---|---|---|---|
| 1 | + | **TImageList**  est un composant qui fournit une list d'[[TImage/fr|images]] qui peut être utilisée dans d'autres composants comme [[TToolBar/fr|TToolBar]] of [[TActionList/fr|TActionList]]. . | |
| 2 | + | ||
| 3 | + | # Exemple avec un TComboBox | |
| 4 | + | ||
| 5 | + | Pour utiliser un TImageList, déposez un objet TImageList sur la fiche. Dans cet exemple, nous avons besoin de six images. | |
| 6 | + | ||
| 7 | + | Toutes les images doivent être de la même taille. Si deux tailles d'image doivent être utilisées, alors deux listes TImageList doivent être utilisées. | |
| 8 | + | ||
| 9 | + | Définissez la largeur et la hauteur des images dans l'inspecteur d'objet ; dans ce cas 50px de large par 18px de haut. | |
| 10 | + | ||
| 11 | + | Définissez le style à csOwnerDrawFixed. | |
| 12 | + | ||
| 13 | + | Double-cliquez sur l'icône du TImageList pour ouvrir l'éditeur associé. Assurez-vous que les icônes sont affichées correctement une fois sélectionnée. Si elles sont plus petites qu'attendu, contrôlez la taille dans l'inspecteur d'objet <span class="kbd">F11</span>. Vous aurez peut-être à recharger les images. | |
| 14 | + | ||
| 15 | + | <figure> | |
| 16 | + | <img src="ImageListEd.png" title="ImageListEd.png" /> | |
| 17 | + | <figcaption>ImageListEd.png</figcaption> | |
| 18 | + | </figure> | |
| 19 | + | ||
| 20 | + | Placez un TComboBox sur la fiche et nommez-le cbSymbols. | |
| 21 | + | ||
| 22 | + | Dans l'événement FormCreate de la fiche, entrez le code suivant : | |
| 23 | + | ||
| 24 | + | ``` pascal | |
| 25 | + | cbSymbols.Items.Clear; | |
| 26 | + | for I := 0 to 5 do | |
| 27 | + | cbSymbols.Items.Add(''); | |
| 28 | + | cbSymbols.ItemIndex := 0; | |
| 29 | + | ``` | |
| 30 | + | ||
| 31 | + | Cela écrira 6 entrées blanches, et sélectionne la première. | |
| 32 | + | ||
| 33 | + | Dans l'événement OnDrawItem pour cbSymbols, placez le code suivant : | |
| 34 | + | ||
| 35 | + | ``` pascal | |
| 36 | + | procedure TMyForm.cbSymbolsDrawItem( | |
| 37 | + | aControl: TWinControl; | |
| 38 | + | iIndex: Integer; | |
| 39 | + | aRect: TRect; | |
| 40 | + | aState: TOwnerDrawState ); | |
| 41 | + | var | |
| 42 | + | cnv: TCanvas; | |
| 43 | + | begin | |
| 44 | + | if not (aControl is TComboBox) then exit; | |
| 45 | + | cnv := TComboBox( aControl ).Canvas; | |
| 46 | + | Imagelist1.Draw( cnv, aRect.Left+2, aRect.Top+2, iIndex ); | |
| 47 | + | end; | |
| 48 | + | ``` | |
| 49 | + | ||
| 50 | + | Les ajustements (+2) sont là pour centrer l'image dans l'élément, si nécessaire. | |
| 51 | + | ||
| 52 | + | <figure> | |
| 53 | + | <img src="combo.png" title="combo.png" /> | |
| 54 | + | <figcaption>combo.png</figcaption> | |
| 55 | + | </figure> | |
| 56 | + | ||
| 57 | + | # Exemple avec des TSpeedButton | |
| 58 | + | ||
| 59 | + | Ajoutez des images dans la boîte d'images comme dans l'exemple précédent et utilisez : | |
| 60 | + | ||
| 61 | + | ``` pascal | |
| 62 | + | SpeedButton1.GetBitmap(iIndex,spbTCNext.Glyph); | |
| 63 | + | ``` | |
| 64 | + | ||
| 65 | + | > **Warning:** Exemple à vérifier | |
| 66 | + | ||
| 67 | + | # Voir aussi | |
| 68 | + | ||
| 69 | + | - [[doc:lcl//controls/timagelist.html|Doc. TImageList]] | |
| 70 | + | - [[TImage/fr|TImage]] | |
| 71 | + | ||
| 72 | + | --- | |
| 73 | + | *From the Free Pascal wiki, page "TImageList/fr", as it stood on 2020-03-01 after a change by GAN, 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).* |
