MFC响应键盘及鼠标按键
2016-10-19 08:28
369 查看
BOOL CCarControlDlg::PreTranslateMessage(MSG* pMsg) { // TODO: Add your specialized code here and/or call the base class <span style="white-space:pre"> </span>if(pMsg->message == WM_KEYUP)<span style="white-space:pre"> </span>//键盘抬起操作 { switch(pMsg->wParam)<span style="white-space:pre"> </span>//判断是哪个按键 { case VK_UP:<span style="white-space:pre"> </span>//向上的箭头 OnBtnUpUp(); break; case VK_DOWN:<span style="white-space:pre"> </span>//向下的箭头 OnBtnDownUp(); break; case VK_LEFT:<span style="white-space:pre"> </span>//向左的箭头 OnBtnLeftUp(); break; case VK_RIGHT:<span style="white-space:pre"> </span>//向右的箭头 OnBtnRightUp(); break; default: break; } } else if(pMsg->message == WM_KEYDOWN)<span style="white-space:pre"> </span><span style="font-family: Arial, Helvetica, sans-serif;">//键盘按下操作</span><span style="white-space:pre"> </span> { switch(pMsg->wParam)<span style="white-space:pre"> </span>//判断是哪个按键 { case VK_UP: OnBtnUpDown(); break; case VK_DOWN: OnBtnDownDown(); break; case VK_LEFT: OnBtnLeftDown(); break; case VK_RIGHT: OnBtnRightDown(); break; default: break; } } else if(pMsg->message == WM_LBUTTONUP)<span style="white-space:pre"> </span>//鼠标左键抬起操作 { if(pMsg->hwnd == GetDlgItem(IDC_BTN_UP)->m_hWnd)//如果事件的句柄和IDC_BTN_UP按钮的的句柄相同,则认为是IDC_BTN_UP按钮被鼠标左键抬起 { OnBtnUpUp(); } else if(pMsg->hwnd == GetDlgItem(IDC_BTN_DOWN)->m_hWnd)//同上 { OnBtnDownUp(); } else if(pMsg->hwnd == GetDlgItem(IDC_BTN_LEFT)->m_hWnd)//<span style="font-family: Arial, Helvetica, sans-serif;">同上</span> { OnBtnLeftUp(); } else if(pMsg->hwnd == GetDlgItem(IDC_BTN_RIGHT)->m_hWnd)//同上 { OnBtnRightUp(); } else { //do nothing } } else if(pMsg->message == WM_LBUTTONDOWN)<span style="white-space:pre"> </span>//鼠标左键按下操作 { if(pMsg->hwnd == GetDlgItem(IDC_BTN_UP)->m_hWnd)//如果事件的句柄和IDC_BTN_UP按钮的句柄相同,则认为是IDC_BTN_UP被鼠标左键按下 { OnBtnUpDown(); } else if(pMsg->hwnd == GetDlgItem(IDC_BTN_DOWN)->m_hWnd)//同上 { OnBtnDownDown(); } else if(pMsg->hwnd == GetDlgItem(IDC_BTN_LEFT)->m_hWnd)//同上 { OnBtnLeftDown(); } else if(pMsg->hwnd == GetDlgItem(IDC_BTN_RIGHT)->m_hWnd)//同上 { OnBtnRightDown(); } else { //nothing } } else { <span style="white-space:pre"> </span>//nothing } return CDialog::PreTranslateMessage(pMsg); }
参考链接:
http://bbs.csdn.net/topics/390398270
http://www.cnblogs.com/huipengkankan/archive/2011/09/21/2184479.html
http://blog.sina.com.cn/s/blog_7590da790101285a.html
相关文章推荐
- MFC--响应鼠标和键盘操作
- 《MFC游戏开发》笔记四 键盘响应和鼠标响应:让人物动起来
- 《MFC游戏开发》笔记四 键盘响应和鼠标响应:让人物动起来
- 在VC/MFC中响应键盘按键
- 在VC/MFC中响应键盘按键
- mfc 鼠标、键盘响应事件
- 【mfc】鼠标、键盘响应事件
- 在VC/MFC中响应键盘按键
- 在VC/MFC中响应键盘按键
- 在VC/MFC中响应键盘按键
- 在VC/MFC中响应键盘按键
- MFC单文档实现键盘按键的响应
- 基于MFC框架的C++游戏开发(四)键盘响应和鼠标响应
- MFC添加托盘图标并添加图标鼠标右键的响应
- MFC对话框里不能响应按键事件的解决办法
- Asp.net 2.0 GridView的几个事件(如实现: 行的双击/单击/捕捉键盘按键/鼠标悬浮/移出效果)(示例代码下载)
- VC/MFC 键盘消息的截取与响应
- Asp.net 2.0 GridView的几个事件(如实现: 行的双击/单击/捕捉键盘按键/鼠标悬浮/移出效果)(示例代码下载)
- 【MFC】基于对话框的键盘响应
- Unity3D获取当前键盘按键及Unity3D鼠标、键盘的基本操作