设为首页 加入收藏

TOP

滑鼠(五)
2010-12-30 21:11:57 】 浏览:41022
Tags:滑鼠

只有对三键滑鼠,视窗讯息处理程式才会收到MBUTTON讯息;只有对双键或者三键滑鼠,才会接收到RBUTTON讯息。只有当定义的视窗类别能接收DBLCLK(双击)讯息,视窗讯息处理程式才能接收到这些讯息(请参见本章中「双击滑鼠按键」一节)。

对於所有这些讯息来说,其lParam值均含有滑鼠的位置:低字组为x座标,高字组为y座标,这两个座标是相对於视窗显示区域左上角的位置。您可以用LOWORD和HIWORD巨集来提取这些值:

wParam的值指示滑鼠按键以及Shift和Ctrl键的状态。您可以使用表头档案WINUSER.H中定义的位元遮罩来测试wParam。MK字首代表「滑鼠按键」。

DBLCLK
WM_MBUTTONDOWN WM_MBUTTONUP WM_MBUTTONDBLCLK
WM_RBUTTONDOWN WM_RBUTTONUP WM_RBUTTONDBLCLK
MK_LBUTTON 按下左键
MK_MBUTTON 按下中键
MK_RBUTTON 按下右键
MK_SHIFT 按下Shift键
MK_CONTROL 按下Ctrl键

例如,如果收到了WM_LBUTTONDOWN讯息,而且值

是TRUE(非0),您就知道当左键按下时也按下了Shift键。

当您把滑鼠移过视窗的显示区域时,Windows并不为滑鼠的每个可能的图素位置都产生一个WM_MOUSEMOVE讯息。您的程式接收到WM_MOUSEMOVE讯息的次数,依赖於滑鼠硬体,以及您的视窗讯息处理程式在处理滑鼠移动讯息时的速度。换句话说,Windows不能用未处理的WM_MOUSEMOVE讯息来填入讯息伫列。当您执行下面将描述的CONNECT程式时,您将会更了解WM_MOUSEMOVE讯息处理的速率。

如果您在非活动视窗的显示区域中按下滑鼠左键,Windows将把活动视窗改为在其中按下滑鼠按键的视窗,然後把WM_LBUTTONDOWN讯息送到该视窗讯息处理程式。当视窗讯息处理程式得到WM_LBUTTONDOWN讯息时,您的程式就可以安全地假定该视窗是活动化的了。不过,您的视窗讯息处理程式可能在未接收

首页 上一页 2 3 4 5 6 7 8 下一页 尾页 5/50/50
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇计时器 下一篇键盘

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目