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 )
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.
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); } }
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...
Partager