我发现在PreTranslateMessage中按Shift+Tab和按Tab,pMsg->wParam的值是一样的,都是VK_TAB,有什么办法捕获组合键Shift+Tab吗?

解决方案 »

  1.   

    BOOL CMydilog::PreTranslateMessage(MSG* pMsg) 
    {
        if (pMsg->message == WM_KEYDOWN)
        {
            switch (pMsg->wParam)
            {  
            case VK_ESCAPE:
                SetFocus ();
                return TRUE;
            case 'X':
                if(::GetKeyState(VK_CONTROL) < 0
                    MessageBox("hello");
                return TRUE;
            }
        }
        return CDialog::PreTranslateMessage(pMsg);
    }