Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : sortItems d'une clistctrl ne marche pas! [ Archives / Graphique ] (aabhanane)

jeudi 28 juillet 2005 à 11:23:09 | sortItems d'une clistctrl ne marche pas!

aabhanane

Bonjour à tous,
J'ai insérer une listctrl dans ma boite de dialogue, et je veux trier les éléments de cette liste.
J'ai pris l'exemple sur la msdn mais ça ne marche pas!!
voici le code que j'ai mis:
static int CALLBACK MyCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
       // lParamSort contains a pointer to the list view control.
       CListCtrl* pListCtrl = (CListCtrl*) lParamSort;
       CString    strItem1 = pListCtrl->GetItemText(lParam1, 0);
       CString    strItem2 = pListCtrl->GetItemText(lParam2, 0);
  
       LVITEM lvi1;
       ZeroMemory(&lvi1, sizeof(LVITEM));
       lvi1.iItem = lParam1; 
       return strcmp(strItem2, strItem1);
}

void CMyListCtrl::snip_CListCtrl_SortItems()
{
   // Sort the list view items using my callback procedure.
   SortItems(MyCompareProc, (LPARAM) this);
}

Quand je fais appel à la fonction snip_CListCtrl_SortItems(), le programme n'entre pas dans la fonction de callback: MyCompareProc!!
Quelqu'un pourrait m'aider sur ce point svp?
Merci,
Hanane


mardi 2 août 2005 à 10:05:02 | Re : sortItems d'une clistctrl ne marche pas!

saladin

Il faut appeler la méthode sortitems via le message LVN_COLUMNCLICK par exemple.

...
ON_NOTIFY_REFLECT(LVN_COLUMNCLICK, OnColumnclick)
...

void CMaListe::OnColumnclick(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
m_iSortColumn = pNMListView->iSubItem;

SortItems(CompareFunction, (LPARAM) this);

*pResult = 0;
}

Je te conseille de créer une classe qui hérite d'un CListCtrl pour gérer ton controle plutot que de gérer les evenements de ton controle dans la classe (window, dialog ...) qui contient ta liste.



Cette discussion est classé dans : marche, callback, lparam, clistctrl, sortitems


Répondre à ce message

Sujets en rapport avec ce message

MFC => CListCtrl : SortItems(...) [ par gadafla ] Pour ordonner mon CListCtrl, je veux lancer une fonction SortItems() comme suit :int CALLBACK MyCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lPa Adresse d'une fonction CallBack dans une classe [ par Capa6T ] Bonjour, J'ai un petit souçis pour récupèrer l'adresse d'une fonction CallBack dans une classe. MaClasse.h : ------------ class MaClasse { protected aide sur les fonctions callback [ par kulk2001 ] Bonjour, jaurai besoin d'aide sur les fonctions callback. Je ne sais pas du tout comment ca marche! Quelqu'un peut il me dire comment ca fonction marc fgets scanf [ par abdoulax ] Bon voici mon pb !!Lorsque que j'utilise un scanf puis après un fgets, le fgets ne marche pas.Après qlq recherche je me suis rendu compte que le scanf Comment sortir d'une boucle avec clic sur un bouton Cancel? [ par rolanddegilead1 ] Bonjour,je suis debutant et je m'arrache les cheveux depuis presque une semaine a cause d'un truc tout bete: en gros je cree une fenetre avec 2 bouton développer les Pointillés dans une CListCtrl [ par Ilhan_ ] Bonjour, Voila, j'ai créé une CListCtrl ou CList view (j'ai pas encore saisi la différence...) avec colonne, lignes items, etc... tout est très bien p DialoBox [ par noel70 ] Voici ce que j'ai fait, mais le souci, c'est que je n'ai aucune fenetre qui s'affiche,Lors de la compilation, aucune erreur, je ne sais pas d'ou sa vi CListCtrl::DrawItem [ par joh ] Bonjour ,Je viens de programmer un trie dans une ListeControl (en C++ sous Visu6)et j aimerai faire apparaitrea coté des intituler des colonnes par ex if else marche pas...? [ par mayti ] bonjour,  j'ai ce code : char * valeur = "USERHOST mayti"; if (buf == valeur) {     MessageBox(0,"Oui !","Test",0); }     else {     MessageBox(0, Ecrire dans une base Access [ par bou1024 ] Bonjour,J'utilise Borland 6 et Access 2003.J'ai créé un petit logiciel qui permet d'executer des requêtes sur ma base Access. Lorsque je fais des SELE


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,187 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.