将确定和取消按钮删掉之后,添加了
virtual void OnOK(){};
virtual void OnCancel(){}
之后,点关闭按钮也不好用了,怎么办?
要删掉这两个按钮,而且还要取消对Esc和Enter键的响应,该怎么办?MFC关闭窗口

解决方案 »

  1.   

    用生成一个下面的,就可以屏掉回车和 Esc。BOOL CWorkShopDlg::PreTranslateMessage(MSG* pMsg)
    {
    // TODO: 在此添加专用代码和/或调用基类 if(pMsg->message == WM_KEYDOWN)
    {
    if(pMsg->wParam == VK_ESCAPE || pMsg->wParam == VK_RETURN)
    return TRUE;//                       忽略 Esc & 回车
    }
    // else if ( pMsg->message == WM_LBUTTONDOWN )
    // {
    // this->SetWindowPos ( this,NULL,NULL,NULL,NULL,NULL);
    // } return CDialogEx::PreTranslateMessage(pMsg);
    }
      

  2.   

    有没有直接生成不处理这两个消息的对话框?还是说如果再有的话就要自己画了?
    而且有这个程序的话,多行CEdit是不是就不接收Enter了?
      

  3.   

    对话框是要响应这个的。如果是多行 CEdit Enter, 好象没影响,不过,如果有影响。你可以在 if 的时候,顺便识别一下是否在 Edit 框就可以了。
      

  4.   

    哦~明白点了,就是说,对话框就是对话框,窗口就是窗口,像我说的那种,就要通过自己Create来实现比较好是么?