您的位置:首页 > 其它

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: