您的位置:首页 > 其它

对话框响应鼠标/键盘消息

2011-10-20 16:38 281 查看
1、如何响应鼠标消息:

常用鼠标消息:

WM_MOUSEMOVE 鼠标移动位置

WM_LBUTTONDOWN 鼠标左键按下

WM_LBUTTONUP 鼠标左键弹起

WM_LBUTTONDBLCLK 鼠标左键双击

WM_RBUTTONDOWN 鼠标右键按下

WM_RBUTTONUP 鼠标右键弹起

WM_RBUTTONDBLCLK 鼠标右键双击

WM_MBUTTONDOWN 鼠标中键按下

WM_MBUTTONUP 鼠标中键弹起

WM_MBUTTONDBLCLK 鼠标中键双击

WM_MOUSEWHEEL 鼠标滚轮滚动

要响应鼠标消息,只需添加相应的消息响应函数就OK了,比如,你要响应 鼠标左键按下的消息,其对应的消息是WM_LBUTTONDOWN,这样,我们只需在自己创建的工程中,找到C**Dlg,属性 消息函数添加,找到,然后添加即可,这时编译器会为你自动生成相关的消息处理函数,只需在里面添加相应的操作就行了。

2、如何响应鼠标消息:

常用键盘消息:

WM_KEYDOWN 键盘按键按下

WM_CHAR 可以打印字符

WM_KEYUP 键盘按键弹起

响应键盘的消息,并不是像响应鼠标消息那样的操作,而是对PreTranslateMesseage函数进行重载,(左击CxxxDlg,打开属性,重写,然后找到该函数添加),然后即可添加你想实现的功能代码了。键盘对应的各个键可在msdn上查询Virtual——Key Codes,有对应的虚键盘消息值,大家根据自己的需要,选择相应的键值。

这里有一个问题就是WM_KEYDOWN 消息发送的 pMsg->wParam 字符都是大写的,如果要判断按下的字符是大写还是小写,还需要另作处理。常用的方法是:1.可以在 WM_CHAR 消息中使用 ASCII 码对 pMsg->wParam 进行判断,2.或者借助函数:IsCharLower、IsCharUpper 来判断!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: