点击list控件排序的实现
来源:互联网 发布:asmr软件 编辑:程序博客网 时间:2024/06/06 13:07
1、响应鼠标点击事件LVN_COLOUMNCLICK事件
2、在头文件中增加一个结构体:
struct DATA
{
int subitem; // 点击表头的列数
CListCtrl* plist;// listctrl的指针
};
3、在响应事件函数中添加以下代码:
//点击主服务器列表表头排序void AutoSyncStorage::OnLvnColumnclickListMainsrv(NMHDR *pNMHDR, LRESULT *pResult){LPNMLISTVIEW pNMLV = reinterpret_cast<LPNMLISTVIEW>(pNMHDR);for (int i = 0; i < m_listViewMain.GetItemCount(); ++i){m_listViewMain.SetItemData(i, i);}DATA data;//定义结构体对象data.subitem = pNMLV->iSubItem;data.plist = &m_listViewMain;g_bSort = !g_bSort;m_listViewMain.SortItems(listCompare,(LPARAM)&data); *pResult = 0;}<pre name="code" class="cpp">4、写回调函数
<pre name="code" class="cpp">int CALLBACK listCompare(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort){DATA* pListCtrl = (DATA*)lParamSort;int ncol = pListCtrl->subitem;//点击的列项传给col,用来判断点击的是第几项CString strItem1, strItem2;//得到该列的前两项strItem1 = (pListCtrl->plist)->GetItemText(lParam1, 1);strItem2 = (pListCtrl->plist)->GetItemText(lParam2, 1);int nRet = strcmp(strItem1, strItem2);if (g_bSort){if(nRet > 0)return -1;else if(nRet < 0)return 1;}else{if(nRet > 0)return 11;else if(nRet < 0)return -1;}}
这样就好了
0 0
- 点击list控件排序的实现
- VB的MSHFlexGrid控件点击表头排序的实现
- 重写ListView控件,实现点击列头排序的功能
- 用DBGrid控件配合数据集组件的Sort属性实现“点击标题栏自动排序功能”。
- 用DBGrid控件的Sort属性实现“点击标题栏自动排序功能”
- 巧用DBGrid控件的Sort属性实现“点击标题栏自动排序功能”。(改进版本)
- 巧用DBGrid控件的Sort属性实现“点击标题栏自动排序功能
- C#:ListView控件如何实现点击列表头进行排序
- C#:ListView控件如何实现点击列表头进行排序
- 自定义控件实现imageview的点击效果
- 【Unity】Kinect实现UI控件的点击
- Kinect用体感来实现UI控件的点击
- table的点击字段排序的实现
- ListView点击列排序的实现
- 点击图标实现table数据的排序
- 控件ListCtrl 点击表头排序
- 点击MSFlexGrid数据控件的标题进行数据排序!
- 点击Ehlib中DbGridEh控件的title排序
- 字符串截取
- SystemClock.sleep
- Android系统添加多语言支持
- div布局
- lua GC分析
- 点击list控件排序的实现
- category、block、protocol、SEL
- 【Android UI设计与开发】第05期:引导界面(五)实现应用程序只启动一次引导界面
- Oracle用存储过程查询多张表的方法
- Error building Player: Win32Exception: ApplicationName='D:/xxxx/sdk\tools\zipalign.exe
- 逆向教程->软件积分逆向分析
- explicit
- easy ui不同选项卡之间冲突的问题
- 模拟赛 人偶师(时间限制:1000MS,空间限制:256MB)