vc++基础班[10]---对话框响应鼠标及键盘消息
------------------------------------------ Begin ----------------------------------------
①、各种各样的常用鼠标消息:
WM_MOUSEMOVE 鼠标移动位置
WM_LBUTTONDOWN 鼠标左键按下
WM_LBUTTONUP 鼠标左键弹起
WM_LBUTTONDBLCLK 鼠标左键双击
WM_RBUTTONDOWN 鼠标右键按下
WM_RBUTTONUP 鼠标右键弹起
WM_RBUTTONDBLCLK 鼠标右键双击
WM_MBUTTONDOWN 鼠标中键按下
WM_MBUTTONUP 鼠标中键弹起
WM_MBUTTONDBLCLK 鼠标中键双击
WM_MOUSEWHEEL 鼠标滚轮滚动
②、响应鼠标消息;
③、各种各样的常用键盘消息:
WM_KEYDOWN 键盘按键按下
WM_CHAR 可以打印字符
WM_KEYUP 键盘按键弹起
④、响应键盘消息:
◆ MFC对话框程序需重载 PreTranslateMessage 函数进行按键的处理,添加相关代码如下:
BOOL CMFCTestDlg::PreTranslateMessage(MSG* pMsg)
{
// TODO: Add your specialized code here and/or call the base class
if (pMsg->message == WM_KEYDOWN){
switch(pMsg->wParam)
{
case VK_UP:
MessageBox(_T("您按下了向上键!"));
break;
case VK_DOWN:
default:break;
}
}
return CDialog::PreTranslateMessage(pMsg);
}
◆ 虚拟键盘码见MSDN:Virtual-Key Codes
◆ WM_KEYDOWN 消息发送的 pMsg->wParam 字符都是大写的,如果要判断按下的字符是大写还是小写,可以在 WM_CHAR 消息中使用 ASCII 码对 pMsg->wParam 进行判断,
或者借助函数:IsCharLower、IsCharUpper 来判断!
0则评论给“vc++基础班[10]---对话框响应鼠标及键盘消息”