有一排编辑控件,现想用UP键实现焦点上移,使用下段代码每次走两个控件,那位大侠指导一下。还有什么方法可以实现,最好附有程序,在线等待,解决加分。
BOOL CTabDlg::PreTranslateMessage(MSG* pMsg)
{
if (pMsag->message==KEYDOWN && pMsg->wParam == VK_UP)
{
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(VK_TAB, 0, 0, 0);
keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);}return CDialog::PreTranslateMessage(pMsg);
}
BOOL CTabDlg::PreTranslateMessage(MSG* pMsg)
{
if (pMsag->message==KEYDOWN && pMsg->wParam == VK_UP)
{
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(VK_TAB, 0, 0, 0);
keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);}return CDialog::PreTranslateMessage(pMsg);
}
还是两个是不是不能用在PreTranslateMessage中啊?
为什么我用OnKeyDown函数检测不到呢?
{
keybd_event(VK_SHIFT, 0, 0, 0);
keybd_event(VK_TAB, 0, 0, 0);
keybd_event(VK_TAB, 0, KEYEVENTF_KEYUP, 0);
keybd_event(VK_SHIFT, 0, KEYEVENTF_KEYUP, 0);
return TRUE;
}