Le composant ListBox est simple d'utilisation et pourtant très pratique. Quelques fonctions suffisent à l'utiliser. Placez un composant ListBox sur votre fiche. Pour lui ajouter un élément (ligne), il suffit d'utiliser le code suivant :
AnsiString Texte;
// Texte =...;
ListBox1->Items->Add(Texte);
En fait, la classe TListBox contient une instance de la classe TStringList qui représente les lignes : Items. Donc pour ajouter des éléments, nous utilisons les méthodes de Items. Pour ajouter un élément, on utilise la méthode Add de cette liste Items, ce qui donne
ListBox1->Items->Add(Texte)
. Ensuite, l'utilisation la plus classique est de regarder quel élément a été cliqué si l'utilisateur double-clique dans la liste. Voici donc la fonction-gestionnaire d'événement OnDblClick :
void __fastcall TForm1::ListBox1Click(TObject *Sender)
{
if (ListBox1->ItemIndex != -1)
{
if (ListBox1->Items->Strings[ListBox1->ItemIndex].LowerCase() == "auteur")
{
// Recherche par auteur
}
}
}
Tout d'abord, nous vérifions qu'un élement est bien sélectionné, grâce à ItemIndex qui est positionné à -1 si aucun élément n'est sélectionné, sinon, une erreur de violation d'accès serait déclenchée car l'élément d'indice -1 n'existe pas. Ensuite, pour accéder à un élément, nous utilisons toujours le membre Items, avec son membre Strings qui est le tableau contenant les chaînes.