在PreTranslateMessage虚函数中
if(pMsg->message == WM_SYSKEYDOWN)
{
做你想做的事儿!
}

解决方案 »

  1.   

    我想是你按下alt以后,焦点处在菜单上去了,再按下别的键后,由CframeWnd拦截了OnKeyDown,进不了视类的消息循环
      

  2.   

    这种情况下最好定义热键。如下:
    定义热键:
    RegisterHotKey(this->m_hWnd,0x11,MOD_CONTROL,'Q');处理热键:
    BOOL CChildFrame::PreTranslateMessage(MSG* pMsg) 
    {
          if (pMsg->message==WM_HOTKEY ){
    if (pMsg->wParam==0x11 ) {
              ....         
            }
          }
    }
    取消热键:
    UnregisterHotKey(this->m_hWnd,0x11);