MFC 鼠标消息

1:客户区鼠标;

鼠标基本分三种:单击,双击,移动

WM_LBUTTONDOWN //客户区中按下鼠标左键

WM_LEUTTONUP //客户区中松开鼠标左键

WM_LBUTTONDBLCLK //客户区中双击鼠标左键

WM_MBUTTONDOWN //客户区中按下鼠标中键

WM_MBUTTONUP //客户区中松开鼠标中键

WM_MBUTTONDBLCLK //客户区中双击鼠标中键

WM_RBUTTONDOWN //客户区中按下鼠标右键

WM_RBUTTONUP //客户区中松开鼠标右键

WM_RBUTTONDBLCLK //客户区中双击鼠标右键

WM_MOUSEACTIVE //客户区中改变鼠标激活状态

WM_MOUSEAMOVE //客户区中移动鼠标

WM_MOUSEWHEEL //客户区中鼠标滚轮滚动


OnLButtonDown(UINT nFlags, CPoint point)

nFlags //是否同时按下非系统键

point //鼠标位置坐标


例:

if (nFlags & MK_SHIFT)

如有必要转换坐标 CDC::DPtoLP(&point);



2:非客户区鼠标;

WM_NCLBUTTONDOWN //非客户区按下鼠标左键

WM_NCLBUTTONUP //非客户区松开鼠标左键

WM_NCLBUTTONBLCLK //非客户区双击鼠标左脚

WM_NCMBUTTONDOWN //非客户区按下鼠标中键

WM_NCMBUTTONUP //非客户区松开鼠标中键

WM_LCMBUTTONBLCLK //非客户区双击鼠标中键

WM_LCRBUTTONDOWN //非客户区按下鼠标右键

WM_LCRBUTTONUP //非客户区松开鼠标右键

WM_LCRBUTTONBLCLK //非客户区双击鼠标右键

WM_MOUSEMOVE //非客户区中移动鼠标

WM_NCHITTEST //非客户区鼠标消息检测,监视鼠标位置


OnNcLButtonDown(UINT nHitTest, CPoint point)

nHitTest //指明鼠标位置属性

point //鼠标位置坐标


例如:

if (nHitTest & HTBOTTOM)


属性说明:

HTBORDER:光标位于无缩放框的窗口边框上。
 HTBOTTOM:光标位于窗口底部边框上。
HTBOTTOMLEFT:光标位于窗口左下角边框上。
HTBOTTOMRIGHT:光标位于窗口右下角边框上。
HTCAPTION:光标位于标题栏内。
HTERROR:光标位于窗口背景或窗口间边界(窗口无效范围)上。
HTGROWBOX:光标位于缩放窗。
HTHSCROLL:光标位于水平滚动条内。
HTLEFT:光标位于左边框上。
 HTMAXBUTTON:光标位于最大化按钮上。
HTMENU:光标位于菜单区。
HTMINBUTTON:光标位于最小化按钮上。
HTRIGHT:光标位于右边框上。
HTSYSMENU:光标位于系统菜单上。
HTTOP:光标位于上边框上。
HTTOPLEFT:光标位于左上角边框上。
HTTOPRIGHT:光标位于右上角边框上。
HTTRANSPARENT:光标位于另一个窗口覆盖的区域。
HTVSCROLL:光标在垂直滚动条上

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值