2012-08-11 4 views
2

Je suis en utilisant le code suivant pour supprimer la case à cocher à côté d'un élément spécifique dans ma liste Voir:case à cocher Supprimer la liste Afficher des articles spécifiques

LVITEM lvI; 

lvI.iItem = i; 
lvI.mask = LVIF_STATE; 
lvI.stateMask = LVIS_STATEIMAGEMASK; 
lvI.state = 0; 

SendMessage(hListOutput, LVM_SETITEM, 0, (LPARAM) &lvI); 

Il fonctionne, mais si je clique où le case à cocher utilisé pour être réapparaît!

Comment puis-je supprimer la case à cocher sur un élément spécifique dans ma vue de liste, et le garder supprimé? Enregistrer l'état souhaité de la case à cocher dans une variable (null par défaut).

Répondre

1

Dans l'événement modifié de la case à cocher, si cette variable n'est pas nulle, retournez l'état à la valeur enregistrée.

+0

Je vais accepter cela comme réponse, car cela m'a donné l'idée de travailler dessus. Il convient de noter que vous devez cocher 'LVN_ITEMCHANGING' dans' WM_NOTIFY' et vérifier si 'uOldState' est 0 ou non, ainsi que sauvegarder l'état quelque part. – Josh

Questions connexes