Hier das MFC bespiel :
// 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);
TRACE("\nSTRING 1: %s\nSTRING 2: %s",strItem1,strItem2);
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);
}
Ich hab daraus das gemacht
void CSVView::open\_mouth:nLvnColumnclick(NMHDR \*pNMHDR, LRESULT \*pResult)
{
LPNMLISTVIEW pNMLV = reinterpret\_cast(pNMHDR);
// TODO: Fügen Sie hier Ihren Kontrollbehandlungscode für die Benachrichtigung ein.
int Columne = pNMLV-\>iSubItem;
CListCtrl& myList = GetListCtrl();
CListCtrl\* pmyListCtrl = &myList;
// Sort the list view items using my callback procedure.
pmyListCtrl-\>SortItems(MyCompareProc, (LPARAM) pmyListCtrl);
\*pResult = 0;
}
Als Ausgabe für Vergleichstring string1 sowie string2 erhalte ich aber den gleichen SelectItem Item(1,0) Eintrag.
Leider nicht Item(1,0) Vergleich Item(2,0).
Wo mach ich was falsch, bzw wo irrt wich das MFC beispiel :-