Afficher : Delphi C++
Préférences d'affichage

Ajout d'images à une liste de chaînes

De RAD Studio

Remonter à Manipulation des contrôles - Index

Une fois que vous avez des images graphiques dans une application, vous pouvez les associer aux chaînes de la liste. Vous pouvez soit ajouter les objets en même temps que les chaînes, soit les associer à des chaînes qui ont déjà été ajoutées. Si vous disposez de toutes les données dont vous avez besoin, vous ajouterez sans doute les chaînes et les objets en même temps.

L'exemple suivant montre comment ajouter des images à une liste de chaînes. Ce code est extrait d'une application de gestion de fichiers dans laquelle chaque lecteur correct est représenté par une lettre et est associé à un bitmap indiquant le type du lecteur. L'événement OnCreate se présente comme suit :



 procedure TFMForm.FormCreate(Sender: TObject);
 var
   Drive: Char;
   AddedIndex: Integer;
 begin
   for Drive := 'A' to 'Z' do  { itérer sur tous les lecteurs possibles }
   begin
     case GetDriveType(Drive + ':/') of  { une valeur positive indique un lecteur correct }
      DRIVE_REMOVABLE:  { ajouter un onglet }
        AddedIndex := DriveTabSet.Tabs.AddObject(Drive, Floppy.Picture.Graphic);
      DRIVE_FIXED:  { ajouter un onglet }
        AddedIndex := DriveTabSet.Tabs.AddObject(Drive, Fixed.Picture.Graphic);
      DRIVE_REMOTE:  { ajouter un onglet }
        AddedIndex := DriveTabSet.Tabs.AddObject(Drive, Network.Picture.Graphic);
     end;
     if UpCase(Drive) = UpCase(DirectoryOutline.Drive) then  { lecteur actif ? }
      DriveTabSet.TabIndex := AddedIndex;  { en faire l'onglet actif }
   end;
 end;



 void __fastcall TFMForm::FormCreate(TObject *Sender)
 {
   int AddedIndex;
   char DriveName[4] = "A:\\";
   for (char Drive = "A"; Drive <= "Z"; Drive++) // essayer tous les lecteurs possibles
   {
     DriveName[0] = Drive;
     switch (GetDriveType(DriveName))
     {
       case DRIVE_REMOVABLE:
         DriveName[1] = "\0"; // mettre temporairement la lettre du lecteur dans une chaîne
         AddedIndex = DriveList->Items->AddObject(DriveName,
            Floppy->Picture->Graphic);
         DriveName[1] = ":" // remplacer les deux points
         break;
       case DRIVE_FIXED:
         DriveName[1] = "\0"; // mettre temporairement la lettre du lecteur dans une chaîne
         AddedIndex = DriveList->Items->AddObject(DriveName,
            Fixed->Picture->Graphic);
         DriveName[1] = ":" // remplacer les deux points
         break;
       case DRIVE_REMOTE:
         DriveName[1] = "\0"; // mettre temporairement la lettre du lecteur dans une chaîne
         AddedIndex = DriveList->Items->AddObject(DriveName,
            Network->Picture->Graphic);
         DriveName[1] = ":" // remplacer les deux points
         break;
     }
     if ((reinterpret_cast<int>(Drive - "A")) == getdisk()) // lecteur actif ?
       DriveList->ItemIndex = AddedIndex; // puis en faire l'élément de liste actif
   }
 }



Voir aussi

Autres langues