工控编程吧
标题:
78上位机VC MFC列表视图实现排序功能
[打印本页]
作者:
qq263946146
时间:
2015-12-10 23:19
标题:
78上位机VC MFC列表视图实现排序功能
(, 下载次数: 3)
上传
点击文件名下载附件
78上位机VC MFC列表视图实现排序功能
功能展示
我们使用EXCEL办公软件时,单击表格的标题,都会实现自动排序效果,但我们VC默认的列表视图控件,并不带这一功能,如何实现呢?我们当前例程通过一个深度封装的类来实现
要点提示
我们当前的派生类通过 class CItemInfo 的成员变量进行列表视窗子项排序功能的实现;例程仅作演示所以一个CItemInfo变量仅支持单列,其他列信息由SetItemText进行额外设置;如果想个CItemInfo变量实现多列排序功能,请DIY 一个CItemInfo类,给其添加更多变量作为列表视窗参数;
实现功能
1.新建基于对话框的应用程序
2.完成对我们当前封装类CSortedHeaderCtrl的使用;复制此类的SORTEDLISTCTRL.CPP,与SORTEDLISTCTRL.H到工程根目录,并加载到工程中
3.添加列表框控件,关联变量CSortedListCtrl m_List;初始化些子项便可查看排序效果
m_List.InsertColumn(0, "Name", LVCFMT_LEFT, 100); //插入列
m_List.InsertColumn(1, "Number", LVCFMT_LEFT, 100);
m_List.InsertColumn(2, "ADRESS", LVCFMT_LEFT, 100);
CItemInfo *pItemInfo;
m_List.InsertItem(0, LPSTR_TEXTCALLBACK); //插入行
pItemInfo = new CItemInfo (0, "第0列");
m_List.SetItemData(0, (DWORD)pItemInfo); //插入第0列
m_List.SetItemText(0, 1, "11111111"); //插入第1列
m_List.SetItemText(0, 2, "11111111"); //播放第2列
m_List.InsertItem(1, LPSTR_TEXTCALLBACK);
pItemInfo = new CItemInfo (1, "第1列");
m_List.SetItemData(1, (DWORD)pItemInfo);
m_List.SetItemText(1, 1, "222222222");
m_List.SetItemText(1, 2, "222222222");
m_List.InsertItem(2, LPSTR_TEXTCALLBACK);
pItemInfo = new CItemInfo (2, "第2列");
m_List.SetItemData(2, (DWORD)pItemInfo);
m_List.SetItemText(2, 1, "333333333");
m_List.SetItemText(2, 2, "333333333");
复制代码
我们来演示下功能实现的整个过程
[iqiyi]http://player.video.qiyi.com/9b5a48fe1dd19c8bbd9ced864b103a03/0/0/w_19rt6t1tt5.swf-albumId=5007709509-tvId=5007709509-isPurchase=0-cnId=12[/iqiyi]
(, 下载次数: 0)
上传
点击文件名下载附件
[note]1[/note]
欢迎光临 工控编程吧 (https://www.gkbc8.com/)
Powered by Discuz! X3.4