Salut à tous,

Je veux faire le truc suivant : à gauche une TListView contenant des trucs (mais tous) et à droite une TListBox qui ne contient que certains trucs (sélectionnés de la TListView, puis ajoutés par un clic sur un bouton [Ajouter>>]).

Mais voilà, je n'arrive pas à trouver tous les éléments sélectionnés de la TListView... J'ai bien maté dans l'aide, mais la méthode qui y est proposée ne fonctionne pas.

Pour info, voilà ce que j'ai fait (et qui ne fonctionne pas, d'où le post )

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
 
void __fastcall TMyForm::BtAjouterClick(TObject* Sender)
{
    if(ListView->Selected != NULL)  //Il y a au moins un élément sélectionné
    {
        TListItem* next = ListView->Selected;
        ListBox->Items->Add(AnsiString(next->Caption) );  //J'ajoute déjà l'en-tête du premier élément sélectionné...
 
        //Là je vais chercher les autres éléments sélectionnés (et ça foire :-(
        do
        {
            next = ListView->GetNextItem(next, sdBelow, TItemStates()<<isSelected);
            if(next != NULL)  //Si on a trouvé un truc, on l'insère...
                ListBox->Items->Add( AnsiString(next->Caption) );
        }
        while(next != NULL);
    }
}
Ce code compile correctement et s'exécute sans erreur, à ceci près qu'il ne trouve aucun élément sélectionné, même si, en fait, ils le sont tous.

Bon voilà, il fait chaud, c'est le WE dans pas longtemps, je me suis creusé la tête là-dessus pendant une bonne heure et demi, et là, j'ai qu'une envie c'est de rentrer chez moi prendre une douche. Alors si une bonne âme connait la réponse à ce mystère, qu'il/elle m'aide, je lui en serai éternellement reconnaissant...