不是说点鼠标啊.而是键盘上的....,你把那两个缺省的 default button 去掉也是一样退出啊!!

解决方案 »

  1.   

    好象是不是要改变default button?
      

  2.   

    ESC通过重载OnClose()或者OnCancel()
    Enter通过重载PreTranslateMessage()BOOL CMyDlg::PreTranslateMessage(MSG* pMsg) 
    {
    if(pMsg->message==WM_KEYDOWN&&pMsg->wParam==VK_RETURN)
    { //你的处理                              


    return 1;

    }

    return CDialog::PreTranslateMessage(pMsg);
    }
      

  3.   

    我对一个应用中的CAboutDlg做了一下实验,重载了PreTranslateMessage(MSG* pMsg)
    代码如下:
    BOOL CAboutDlg::PreTranslateMessage(MSG* pMsg) 
    {
    // TODO: Add your specialized code here and/or call the base class
    if(pMsg->wParam == VK_ESCAPE || pMsg->wParam==VK_RETURN)
    return FALSE;
    return CDialog::PreTranslateMessage(pMsg);
    }
    两键似乎不起作用了.
      

  4.   

    对,或者return 1;
    表示这个消息已经处理过了,不用再费心了。