已经做好了单击表头排序的函数,希望在生成列表时即排序一次,所以想模拟表头单击,求助。
解决方案 »
- afx_msg BOOL OnEraseBkgnd(CDC* pDC);//return 1,怎么对话框的背景不是黑色的?
- wince5.0 下读取电池电量,找不到GetSystemPowerStatusEx2
- 为什么这个版的风格还没更新?
- 多线程activex控件回调javascript方法的问题
- 我问一个问题
- cstring::find
- 有没有GSM Modem模拟软件?and 串口问题一个
- 关于位图按钮问题,大家来帮忙看看~~
- 在MDI主框架窗口中,如何增加框架左右两边框的宽度?
- [out]和[out,retval]相比,产生的二进制代码会有不同吗?
- 奇怪.CopyFile()后文件看不见了
- 执行存储过程的疑问~~
而调用排序是m_ListLeft.SortItems(CompareFunc,(LPARAM)tmpp);
参数个数和类型怎么匹配啊,这个是关键啊;
2、没找到CLISTCTRL有设置单击的成员函数,而SENDMESSAGE的参数也不会匹配。
lParam1:是要比较的前一个项
lParam2:后一个项
lParamSort:SortItems时传人的楼主你没有MSDN吗?
lParam2:后一个项
lParamSort:SortItems时传人的”,我没在MSDN上查到,还望指教
lParam2
是系统自己传进去的你自己只能控制tmpp,也就是lParamSort
lParam2:后一个项的ITEMDATA
int CALLBACK MyListCompareProc(LPARAM lParam1, LPARAM lParam2,LPARAM lParamSort)
{
PSEARCHWEB pWeb1=(PSEARCHWEB)lParam1;//PSEARCHWEB是我自己随便写的,在setitemdata的时候设置的,你可以设置你自己的
PSEARCHWEB pWeb2=(PSEARCHWEB)lParam2;
int* pCol=(int*)lParamSort;
return stricmp(pWeb1->szName,pWeb2->szName);
return 0;
}
MSDN上不是有说吗?
lParam2:后一个项的ITEMDATA“出来后排列有问题,部分成功。
其实已经成功了
SortItems调用时,lParam1、lParam2应该已经在之前InsertItem时通过SetItemData设置好了,不需要理会这两个参数,直接调用SortItems就能成功排序了
问题已经在2楼解决了,后面的问题不存在