【VS开发】MFC CListCtrl列表控件的消息响应
来源:互联网 发布:非凡软件下载 编辑:程序博客网 时间:2024/05/16 10:04
MFC里的CListCtrl选中一行,消息是哪个.实在想不起来了。找了一篇文章,比较有用:
http://www.cnblogs.com/hongfei/archive/2012/12/25/2832806.html
LVN_BEGINDRAG 鼠标左键正在被触发以便进行拖放操作(当鼠标左键开始拖拽列表视图控件中的项目时产生)
LVN_BEGINRDRAG 鼠标右键正在被触发以便进行拖放操作(当鼠标右键开始拖拽列表视图控件中的项目时产生)
LVN_BEGINLABELEDIT 开始编辑项的文本
LVN_COLUMNCLICK 单击列(当鼠标单击列表视图控件列标题时产生)
NM_CLICK 当鼠标单击列表视图控件时产生
LVN_COLUMNCLICK 单击列
LVN_DELETEALLITEMS 删除所有项
LVN_DELETEITEM 删除某个项
NM_DBLCLK 当鼠标双击列表视图控件时产生
LVN_ENDLABELEDIT 结束对项文本的编辑
LVN_GETDISPINFO 请求需要显示的信息
LVN_GETINFOTIP 请求显示在工具提示窗口内的附加的文本信息
LVN_HOTTRACK 鼠标滑过某个项
LVN_INSERTITEM 当向列表视图控件插入项目时产生
lVN_ITEMACTIVATE 激活某个项
LVN_ITEMCHANGED 某个项已经发生变化
LVN_ITEMCHANGING 某个项目正在发生变化
NM_KILLFOCUS 当视表列图控件失去焦点时产生
LVN_KEYDOWN 某个键被按下
LVN_MARQUEEBEGIN 开始某个边框选择
NM_OUTOFMEMORY 当内存溢出时产生
LVN_ODCACHEHINT 虚拟列表控件的显示区域的内容发生了变化
LVN_ODSTATECHANGED 虚拟列表的控件的某个项或某个范围内的项已经发生变化
LVN_ODFINDITEM 需要拥有者查找一个特定的回调项
NM_RCLICK 当鼠标右键单击列表视图控件时产生
NM_RDBLCLK 当鼠标右键双击列表视图控件时产生
NM_SETFOCUS 当列表视图控件获得焦点时产生
LVN_SETDISPINFO 父窗口必须更新控件为项所维护的信息
注解:
HDN:Header Notify
LVN:ListView control Notify
NM:Notify Message
TVN:TreeView control Notify
LVN_ITEMCHANGED消息的处理
消息处理函数:
void C***Dlg::OnItemchangedList(NMHDR* pNMHDR, LRESULT* pResult) {NM_LISTVIEW* pNMListView = (NM_LISTVIEW*)pNMHDR;if(pNMListView->uChanged==LVIF_STATE){if(pNMListView->uNewState & LVIS_SELECTED) { //处理内容 int nItem=pNMListView->iItem; CString value[6]; for(int i=0;i<6;i++) { value[i]=m_List.GetItemText(nItem,i); } }}*pResult = 0;}
消息处理函数中的两个if条件句一定要有,否则可能出现多次进入处理内容的问题。
鼠标双击列表项事件的处理
响应NM_DBLCLK消息:
void CDisSalaryDlg::OnDblclkList(NMHDR* pNMHDR, LRESULT* pResult) { NM_LISTVIEW *pNMListView=(NM_LISTVIEW *)pNMHDR; int nItem=pNMListView->iItem; if(nItem>=0 && nItem<m_List.GetItemCount())//判断双击位置是否在有数据的列表项上面 { ............. } *pResult = 0;}
消息处理函数中的if语句很重要,用于判断双击位置是否在有数据的列表项上面。因为NM_DBLCLK消息是CListCtrl控件(整体)消息,只要是在CListCtrl控件范围之内执行此事件就会产生该消息,而不一定要在有数据的列表项上面。
- 【VS开发】MFC CListCtrl列表控件的消息响应
- MFC中的列表控件CListCtrl
- MFC 列表控件CListCtrl详解
- MFC中的列表控件CListCtrl
- 动态创建的CListCtrl控件的消息响应
- 动态创建的CListCtrl控件的消息响应
- MFC CListCtrl不响应LVN_GETDISPINFO消息
- 【VS开发】CListCtrl控件使用
- MFC列表控件 (CListCtrl) 的删除多行
- VC MFC列表视图(CListCtrl)控件
- VC MFC列表视图(CListCtrl)控件
- MFC 树控件消息响应
- CListCtrl 列表控件的使用方法
- CListCtrl控件的虚拟列表
- MFC中的CListCtrl添加右键菜单消息响应实例分析
- 【VS开发】CListCtrl控件使用方法总结
- C++自定义ClistCtrl控件响应数据项的点击事件&&消息反射的原理
- MFC两种重载控件消息响应的方法
- 欢迎使用CSDN-markdown编辑器
- Maven插件编译异常
- 海欢服务器环境安装手册
- 初识 weex(前端视角)
- codeforces 587F. Duff is Mad
- 【VS开发】MFC CListCtrl列表控件的消息响应
- 变分自编码(VAE)及代码解读
- gmplayer启动报错: Option equ_channel_1 needs a parameter at line 11
- 【UGUI】Unity4.6 UI按钮绑定事件(一)
- Java中类,对象,方法的内存分配
- 常用表单格式
- Qt Creator创建子目录项目并自定义目标文件输出目录
- hibernate连接数据库问题总结
- javascript判断一个数是否是质数