现在我想在排序完毕后得到任一新的内容他原来是在哪个位置,请各位大侠出手相助啊。
帮我看看用什么方法,我的方法错在哪里??
struct _SortText 
{//排序的数据结构
DWORD dw;
CString value;
int iPos;
} *m_SortText;//初始化数据结构。
m_SortText[nc].dw=GetItemData(nc);
m_SortText[nc].value=GetItemText(nc,nClm);
m_SortText[nc].iPos = nc;  //这个用于保存位置索引
SetItemData(nc,(DWORD)srtt)//排序
int CALLBACK CListCtrlEx::CompareDesT(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
struct _SortText * i1 = (struct _SortText *) lParam1;
struct _SortText * i2 = (struct _SortText *) lParam2;
ASSERT(i1 && i2);
int  flag;
flag = i2->value.CompareNoCase(i1->value);
if( flag > 0 )
{//如果排序出现顺序交换,则记录数据从哪个索引移动到哪个索引,或从哪个索引来
int temp;
temp = i1->iPos;
i1->iPos = i2->iPos;
i2->iPos = temp;
}
return flag;
}