Bonjour,

Petit problème avec ce composant : lorsque j'ajoute des boutons dynamiquement, ils s'ajoutent dans n'importe quel ordre à la fin d'une boucle. En débugant, les boutons sont bien créés dans l'ordre alphabétique des captions, mais à la fin j'obtien l'ordre suivant : 4 5 3 1 2.

Mon bout de code concerné :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
              // Traite tous les enregistrements 1 à 1
              while (SQLSucceeded(SQLFetch(hStmt))) do
              begin
                imgTampon := TImage.Create(self);
                imgTampon.AutoSize := True;
                SQLGetString(hstmt, 1, sChaine);
                btnBouton := pgeCollections.AddButton;
                btnBouton.Caption := sChaine;
                SQLGetInteger(hstmt, 3, iIndex);
                wIndex := word(iIndex);
                SQLGetString(hstmt, 2, sChaine);
                if sChaine <> '' then
                  imgTampon.Picture.Icon.Handle :=
                    ExtractAssociatedIcon(application.Handle, PChar(sChaine), wIndex)
                else
                  imgTampon.Picture.Icon := imgInterrogation.Picture.Icon;
                btnBouton.LargeImages := ImageListCollections;
                btnBouton.ImageIndex :=
                  ImageListCollections.AddIcon(imgTampon.Picture.Icon);
                imgTampon.Free;
              end
Une idée ? De plus, il ne me semble pas avoir vu de propriété qui puisse m'indiquer à quel endroit le bouton est créé.