树结构鼠标消息响应事件

简介: 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 根据鼠标的位置获取当前点击项!
相关文章
|
9天前
|
JavaScript 前端开发
鼠标移出和鼠标移入事件
鼠标移出和鼠标移入事件
13 1
|
9天前
|
UED
如何理解鼠标点击事件在程序中的处理
如何理解鼠标点击事件在程序中的处理
34 0
|
9天前
页面监听键盘事件
页面监听键盘事件
|
9天前
失焦事件和点击事件
失焦事件和点击事件
21 1
|
11月前
|
存储 安全 Windows
Win32子窗口创建,子窗口回调函数,消息堆栈,逆向定位子窗口消息处理过程
Win32子窗口创建,子窗口回调函数,消息堆栈,逆向定位子窗口消息处理过程
14、事件类型(鼠标事件、键盘事件、触屏事件)
14、事件类型(鼠标事件、键盘事件、触屏事件)
131 0
|
Windows
Windows程序设计——窗口键盘消息滚动事件
Windows程序设计——窗口键盘消息滚动事件
241 0
C#(二十八)之C#鼠标事件、键盘事件
鼠标事件分为两种:EventArgs、MouseEventArgs。 键盘事件:KeyEventArgs、KeyPressEventArgs、KeyPress、KeyDown、KeyUp。
379 0
C#(二十八)之C#鼠标事件、键盘事件
鼠标滚轮消息的捕捉
鼠标滚轮消息的捕捉
673 0