树结构鼠标消息响应事件

简介: 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 根据鼠标的位置获取当前点击项!
相关文章
|
2月前
|
JavaScript 前端开发
鼠标移出和鼠标移入事件
鼠标移出和鼠标移入事件
23 1
|
2月前
失焦事件和点击事件
失焦事件和点击事件
26 1
|
2月前
页面监听键盘事件
页面监听键盘事件
|
2月前
[Qt5] 鼠标响应事件和计时器事件
[Qt5] 鼠标响应事件和计时器事件
35 0
|
存储 安全 Windows
Win32子窗口创建,子窗口回调函数,消息堆栈,逆向定位子窗口消息处理过程
Win32子窗口创建,子窗口回调函数,消息堆栈,逆向定位子窗口消息处理过程
|
前端开发 C# Windows
WPF鼠标、键盘、拖拽事件、用行为封装事件
本文主要介绍了WPF中常用的鼠标事件、键盘事件以及注意事项,同时使用一个案例讲解了拓展事件。除此之外,本文还讲述如何用行为(Behavior)来封装事件。
14、事件类型(鼠标事件、键盘事件、触屏事件)
14、事件类型(鼠标事件、键盘事件、触屏事件)
138 0
C#(二十八)之C#鼠标事件、键盘事件
鼠标事件分为两种:EventArgs、MouseEventArgs。 键盘事件:KeyEventArgs、KeyPressEventArgs、KeyPress、KeyDown、KeyUp。
410 0
C#(二十八)之C#鼠标事件、键盘事件
|
Windows
Windows程序设计——窗口键盘消息滚动事件
Windows程序设计——窗口键盘消息滚动事件
253 0