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