在用MFC向导生成的关于对话框,显示的时候,只要按一下ESC键就能让它关闭,我要怎么才取消这个功能呢?即按ESC键没有反应。

解决方案 »

  1.   

    重载对话框的OnOk()和OnCancel()
    将CDialog::OnOk();或CDialog::OnCancel()注释掉.这样的问题已经出现过不知多少次了,
    请楼主先看一看置顶帖子!
      

  2.   

    MSG msg;
    // 检查是否按下 Escape 键
    if (::PeekMessage(&msg, m_hWnd, WM_KEYFIRST,WM_KEYLAST, PM_REMOVE)) 
    { if (msg.message == WM_KEYDOWN && msg.wParam == VK_ESCAPE)
    // 退出循环或者停止处理;
    }
      

  3.   

    同意 zhucde(【风间苍月】)
      

  4.   

    那其他时候建产的对话框,没有去重写CDialog::OnOk();或CDialog::OnCancel()那个方法。
    确又不能按ESC键关闭啊。
      

  5.   

    BOOL CCXXX::PreTranslateMessage(MSG* pMsg) 

        if(pMsg->message == WM_KEYDOWN) 
        { 
            switch(pMsg->wParam) 
            {  
            case VK_ESCAPE:                      //屏蔽Esc 
                return TRUE; 
            } 
        } 
        return CDialog::PreTranslateMessage(pMsg); 

      

  6.   

    问题已解决,我平庸的重写了OnCancle方法