请自己查查加速建和快捷键的区别

解决方案 »

  1.   

    能不能给的详细点.
    我还是没发现问题的所在点呀.
      

  2.   

    if (pMsg->message >= WM_KEYFIRST && pMsg->message <= WM_KEYLAST)
    // translate accelerators for frame and any children
    if (m_hAccelTable != NULL &&
    ::TranslateAccelerator(m_hWnd, m_hAccelTable, pMsg))
    {
    return TRUE;
    }
    需要自己在对话框消息循环中处理加速键,而默认的对话框消息循环中没有处理,同时还要调用m_hAccelTable = ::LoadAccelerators(hInst, lpszResourceName)加载,而由于更改消息循环太容易出错,mfc提供了虚拟函数PreTranslateMessage,在cdialog::PreTranslateMessage中拦截键盘消息后把加速建转化成wm_command消息,代码如上所示.