-
CListCtrl cacher �l�ment
Bonjour,
J'ai actuellement une CListCtrl qui est remplie avec des messages. Les messages sont affich�es ligne par ligne, sur deux colonnes (une avec la date et l'autre avec le type du message).
Je suis en train de cr�er un filtre pour n'afficher que les messages avec les types s�lectionn�s.
Mon probl�me est que je ne sais pas comment "masquer" les types non voulus.
Y'a-t-il un moyen de le faire ? Faut-il cr�er une autre liste ?
Comment faire ?
Pour info, ma liste se trouve dans une boite de dialogue.
Merci d'avance pour votre aide
-
Vous ne devez pas stocker la liste des messages dans la CListCtrl.
Utilisez un objet d�di�, qui sera un membre de votre Model dans l'architecture Document/Vue d'une application MFC.
Une fois qu'un nouveau message arrive, le Document notifie toutes les Vues et les Vue vident le contenu de leurs contr�les, et vont lire la liste des messages et ajouter dans les contr�les les informations pertinentes et � jours.
En r�sum�, votre CListCtrl ne doit pas contenir la liste des messages mais une liste d�j� filtr� et doit �tre vid� � chaque update.
P.S. Une liste simple comme un std ::vector est bien plus performant pour le stockage en m�moire de chaine de caract�re qu�un contr�le Windows.
-
Merci beaucoup pour cette r�ponses. Je n'avais pas vu la chose de cette mani�re.
Donc je stocke mes messages dans des std::vector, et quand j'affiche ma CListCtrl, je la remplie � partir des vector en filtrant. C'est �a l'id�e ?
Sinon, sauriez-vous o� je peux trouver les infos sur ce qu'il vaut mieux faire / ce qu'il faut �viter avec MFC ? (sites, livres,...)