我再DoModal()后,希望用户无论如何都无法关闭此Dialog,而由程序控制关闭。把Dialog设置为Disable后,Alt-F4就没用了,但是按Enter和Esc还是可以关闭。如何屏蔽此二消息?(cpp和h中没有相关消息处理代码,ClassWizard中也找不到相应的消息)

解决方案 »

  1.   

    WM_CLOSE
    void CDlg::OnCancel() 
    {
    // CDialog::OnCancel();
    }
      

  2.   

    重载OnCancel()和OnOK()然后在里面啥都不干
      

  3.   

    在你的cpp中的messagemap里面添加
    ON_COMMAND(IDOK, CDialog::OnNull)
    ON_COMMAND(IDCANCEL, CDialog::OnNull)
    OnNull这个函数里面什么都不要做
      

  4.   

    回复:重载OnCancel()和OnOK()然后在里面啥都不干
    回车仍然关闭
      

  5.   

    重载虚函数PreTranslateMessage(MSG* pMsg)
    改写之:
    {
    switch(pMsg->wParam)
    {
    case VK_RETURN:
    return TRUE;
    break;
    case VK_ESCAPE:
    return FALSE;
    break;
    default:
    break;
    }
    return CDialog::PreTranslateMessage(pMsg);
    }