titi4659
Messages postés42Date d'inscriptionmardi 20 décembre 2005StatutMembreDernière intervention30 mars 2007
-
21 mars 2007 à 12:15
titi4659
Messages postés42Date d'inscriptionmardi 20 décembre 2005StatutMembreDernière intervention30 mars 2007
-
21 mars 2007 à 14:47
Bonjour,
J'ai une liste d'element de type CListCtrl je souhaite la trié selon la colonne:
Pour cela j'utilise la fonction SortItems(mysort, num_colonne), jusque la rien de compliqué
lorsque je lance le rpogramme et que je clique sur la colonne a trié il réagi bien mais ne fait le tri que sur le premier et le dernier chiffre .
Coment résoudre cela??
KeniiyK
Messages postés326Date d'inscriptionvendredi 13 août 2004StatutMembreDernière intervention 2 novembre 20072 21 mars 2007 à 13:03
Salut, encore des pb de tri ?
C quoi ta callback que tu passes a SortItems ?
Je te poste l'exemple de la MSDN :
// Sort the item in reverse alphabetical order.
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);
return strcmp(strItem2, strItem1);
}
void snip_CListCtrl_SortItems()
{
// The pointer to my list view control.
extern CListCtrl* pmyListCtrl;
// Sort the list view items using my callback procedure.
pmyListCtrl->SortItems(MyCompareProc, (LPARAM) pmyListCtrl);
}
KeniiyK
Messages postés326Date d'inscriptionvendredi 13 août 2004StatutMembreDernière intervention 2 novembre 20072 21 mars 2007 à 14:00
Ah ben ce doit etre a cause de çà :
MSDN a propos de la callback :
The lParam1 parameter is the 32-bit value associated with the first
item being compared, and the lParam2 parameter is the value associated
with the second item. These are the values that were specified in the
lParam member of the items' <mshelp:link tabindex= "0" keywords="_win32_LVITEM">LVITEM</mshelp:link> structure when they were inserted
into the list. The lParamSort parameter is the same as the dwData value.
Quand tu insères tes éléments dans ta liste, initialise le champ lParam de la struct LVITEM<link href ="../../../css/ie4.css" type="text/css" rel="stylesheet" /><!-- @ --><link href="../../../css/inetsdk.css" type="text/css" rel="stylesheet" /><!-- @ --><style type="text/css"><![CDATA[
PRE.clsCode { font-size:110%; }
PRE.clsSyntax { font-size:100%; }
TD DIV.clsBeta { display:none;}
avec la valeur de ton code associé<xml id="_topicdata" pagetype="struct" proj="platsdk" name="LVITEM" pubpath="/platform/commctls/listview/structures/lvitem.htm"><!-- topic data --><root></root></xml>
titi4659
Messages postés42Date d'inscriptionmardi 20 décembre 2005StatutMembreDernière intervention30 mars 2007 21 mars 2007 à 14:47
l'affichage dans ma ListeCtrl, ce passe tres bien je peux faire tout ce que je veux tout fonctionne(suppression d'item , ...) donc elle est bien initialisé
et les element bien inséré.
ce que je ne comprends pas c'est pourquoi tout s'inverse au lieu de trié normalement.