+ -
当前位置:首页 → 问答吧 → 怎么使按下键盘的向下(VK_DOWN)相当于按照下了TAb键(VK_TAB)

怎么使按下键盘的向下(VK_DOWN)相当于按照下了TAb键(VK_TAB)

时间:2011-12-19

来源:互联网

怎么使按下键盘的向下(VK_DOWN)相当于按照下了TAb键(VK_TAB),按下向上键(VK_UP)相当于按下Shift+Tab键
C/C++ code
BOOL CMallDlg::PreTranslateMessage(MSG* pMsg)
{
    if (pMsg->message == WM_KEYDOWN)
    {
        if (pMsg->wParam == VK_LEFT ||pMsg->wParam == VK_UP)
        {
            keybd_event(VK_TAB,MapVirtualKey(VK_TAB,0),0,0); 
            keybd_event(VK_TAB,MapVirtualKey(VK_TAB,0),KEYEVENTF_KEYUP,0); 
        }
        if (pMsg->wParam == VK_RIGHT ||pMsg->wParam == VK_DOWN)
        {
            keybd_event(VK_SHIFT,MapVirtualKey(VK_SHIFT,0),0,0); 
            keybd_event(VK_TAB,MapVirtualKey(VK_TAB,0),0,0); 
            keybd_event(VK_TAB,MapVirtualKey(VK_TAB,0),KEYEVENTF_KEYUP,0); 
            keybd_event(VK_SHIFT,MapVirtualKey(VK_SHIFT,0),KEYEVENTF_KEYUP,0); 
        }
    }
    return CDialog::PreTranslateMessage(pMsg);
}
这样怎么不行啊??

作者: Happy_BlueSky   发布时间: 2011-12-19

已解决,来人散分了

作者: Happy_BlueSky   发布时间: 2011-12-19

说一下怎么解决的呗,学习一下

作者: charmign1   发布时间: 2011-12-19

该回复于2011-12-19 10:06:29被管理员删除

  • 对我有用[0]
  • 丢个板砖[0]
  • 引用
  • 举报
  • 管理
  • TOP
#4楼 得分:0回复于:2011-12-19 10:02:14
SendMessage(hwnd,WM_KEYDOWN,VK_TAB,lParam);

作者: w356628   发布时间: 2011-12-19

解决后说一下呗

作者: sunyongliang118   发布时间: 2011-12-19

作者: Sqrt5   发布时间: 2011-12-19

4L方法是可行的,不要使用keybd_event

作者: agoago_2009   发布时间: 2011-12-19