社区
界面
帖子详情
listctrl的自动排序问题
0011411
2006-04-13 03:44:58
1.listctrl的自动排序如何实现?????listctrl风格中有自动排序的,我要在listctrl创建好后,改变他的风格,加上排序的,可是我改变了后,没有什么反映.
2.listctrl对齐到网格如何实现>??????这个真的不知道怎么去做
...全文
293
5
打赏
收藏
listctrl的自动排序问题
1.listctrl的自动排序如何实现?????listctrl风格中有自动排序的,我要在listctrl创建好后,改变他的风格,加上排序的,可是我改变了后,没有什么反映. 2.listctrl对齐到网格如何实现>??????这个真的不知道怎么去做
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
一条晚起的虫
2006-04-19
打赏
举报
回复
排序功能的实现
列表控制有一个特殊的功能,当以详细资料方式显示时,列表顶部的表头可以当作按钮来使用,这可以通过列表控制创建时的风格来控制。当鼠标点击列表头名称时,列表控制就会向其父窗口发送一个LNV_COLUMNCLICK消息,利用类导向中列表控制 IDC_LISTCTRL对应的LNV_COLUMNCLICK消息加入相应处理函数,就可将表列按照特定顺序进行排列。其函数使用方法见程序,其中 iSort为排序的表列索引号,(PFNLVCOMPARE)CompareFunc为进行具体排序的回调函数,也就是说,通过鼠标点击表头实现的排序过程是由第三方开发的专用排序函数来实现的,排序函数只是实现表项的具体比较操作,而整个排序过程是由SortItemS属性通过不断调用这个函数来实现的。正常的排序过程是升序方式,通过调换排序函数中的参数值,就可实现降序排列,即将PARAM1与PARAM2调换位置。这个回调函数的前两个参数为表列中表项的索引号,第三个参数为排序的表列索引号。
void CVCLISTDlg::OnColumnclickListctrl(NMHDR* pNMHDR, LRESULT* pResult)
{ //鼠标左键单击表头处理函数
NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
static int iSorted=-1;//排列序号
if (pNMListView->iSubItem==iSorted) return;
iSorted=pNMListView->iSubItem;
m_ListCtrl.SortItems((PFNLVCOMPARE)CompareFunc,iSorted);
*pResult = 0;
}
//排序时比较表项的回调函数
int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2,LPARAM lParamSort)
{ char *text1,*text2;
switch (lParamSort){
case 0L:text1=Sps[lParam1].szPm;
text2=Sps[lParam2].szPm;break;
case 1L:text1=Sps[lParam1].szSl;
text2=Sps[lParam2].szSl;break;
case 2L:text1=Sps[lParam1].szDj;
text2=Sps[lParam2].szDj;break;
case 3L:text1=Sps[lParam1].szJe;
text2=Sps[lParam2].szJe;break;
}
return (strcmp(text1,text2));//结果为>0 =0 <0
}
0011411
2006-04-19
打赏
举报
回复
来人啊
0011411
2006-04-14
打赏
举报
回复
顶上去啊~!!!!!!
lixiaosan
2006-04-13
打赏
举报
回复
listctrl对齐到网格
????
lixiaosan
2006-04-13
打赏
举报
回复
http://support.microsoft.com/kb/250614/en-us
mfc
listctrl
控件
自动
排序
在mfc对话框工程中采用了
listctrl
控件,需要点击控件列头,实现控件内容的
自动
排序
,方法如下。 假设
listctrl
控件已经添加了控制变量 C
ListCtrl
m_
ListCtrl
。 1、在.h文件中添加 public: int sort_column; // 表示需要
排序
的列 static bool method; //类内申明 static int CALLBACK li
C++
listCtrl
点击列头
自动
排序
一个函数; void CDialogTableSum::OnColumnClick(NMHDR* pNMHDR, LRESULT* pResult) { NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR; int selectcol = pNMListView->iSubItem;//获得当前所选列 int listcount;//总行数...
在
ListCtrl
中进行
排序
(转)
在
ListCtrl
中进行
排序
(转)//转自MFC开发指南,.NET/">http://www.vchelp.net/ 在
ListCtrl
中进行
排序
闻怡洋 wyy_cq@21cn.com http://www.vchelp.net/ 列表控件(C
ListCtrl
)的顶部有一排按钮,用户可以通过选择不同的列来对记录进行
排序
。但是 C
ListCtrl
并没有
自动
排序
的功能,我们需要自己添加一个用
在
ListCtrl
中进行
排序
(1)
在
ListCtrl
中进行
排序
列表控件(C
ListCtrl
)的顶部有一排按钮,用户可以通过选择不同的列来对记录进行
排序
。但是 C
ListCtrl
并没有
自动
排序
的功能,我们需要自己添加一个用于
排序
的回调函数来比较两个数据的大小,此外还需要响应
排序
按钮被点击的消息。下面讲述一下具体的做法。C
ListCtrl
提供了用于
排序
的函数,函数原型为:BOOL C
ListCtrl
::SortItems(
wxpython
listctrl
属性_Wxpython高级组件wx.
ListCtrl
wx.
ListCtrl
组件wx.
ListCtrl
是一个项目列表的图形表示。一个wx.ListBox只能有一列,而wx.
ListCtrl
可以有多于一列。例如,一个文件管理器使用wx.
ListCtrl
来显示文件系统中的目录和文件。一个CD刻录程序在wx.
ListCtrl
中显示要刻录的文件。一个wx.
ListCtrl
可以以三种不同的样式使用。列表视图、报告视图或图标视图。这些样式由wx.ListCtr...
界面
15,978
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章