树结构鼠标消息响应事件

简介: 1、定义树结构的窗口ID /*#define FiletreeID 101*/ const int FiletreeID =101;2、在映射函数中添加消息映射 ...
1、定义树结构的窗口ID
/*#define FiletreeID 101*/
const int FiletreeID =101;
2、在映射函数中添加消息映射
ON_NOTIFY( NM_CLICK , FiletreeID, OnNMClickTree)
3、在头文件中声明函数
afx_msg void OnNMClickTree(NMHDR* pNMHDR,LRESULT* pRsult);
4、函数具体实现
void CFileView:: OnNMClickTree( NMHDR* /*pNMHDR*/,LRESULT* pRsult )
{
DWORD dwPos = ::GetMessagePos();
CPoint point( LOWORD(dwPos), HIWORD(dwPos));
m_wndFileView.ScreenToClient(&point);
UINT uFlags=0;
HTREEITEM hItem=m_wndFileView. HitTest(point,&uFlags);
/*HTREEITEM hItem =m_wndFileView. GetSelectedItem()*/
/* m_wndFileView.SelectItem(hItem);*/ // 添加上这个代码后多选功能失效
}
注意: NM_CLICK 点击消息结束之后才能更新hItem的选择,表现为点击事件的滞后性,所以要通过 HitTest 根据鼠标的位置获取当前点击项!
相关文章
|
8月前
|
JavaScript 前端开发
鼠标移出和鼠标移入事件
鼠标移出和鼠标移入事件
55 1
|
8月前
|
UED
如何理解鼠标点击事件在程序中的处理
如何理解鼠标点击事件在程序中的处理
109 0
|
8月前
|
JavaScript 前端开发
js基础——事件(鼠标事件、键盘事件、表单事件......)
js基础——事件(鼠标事件、键盘事件、表单事件......)
66 0
|
8月前
页面监听键盘事件
页面监听键盘事件
|
存储 安全 Windows
Win32子窗口创建,子窗口回调函数,消息堆栈,逆向定位子窗口消息处理过程
Win32子窗口创建,子窗口回调函数,消息堆栈,逆向定位子窗口消息处理过程
|
JavaScript
13、JS事件(事件绑定、事件流、阻止事件冒泡、取消元素默认行为)
13、JS事件(事件绑定、事件流、阻止事件冒泡、取消元素默认行为)
126 0
14、事件类型(鼠标事件、键盘事件、触屏事件)
14、事件类型(鼠标事件、键盘事件、触屏事件)
168 0
|
JavaScript
全屏 监听键盘事件 添加元素 删除添加的元素
全屏 监听键盘事件 添加元素 删除添加的元素
全屏 监听键盘事件 添加元素 删除添加的元素