none
对话框怎样取消“Esc”键响应? RRS feed

  • 问题

  •     运行基于对话框的程序时,一不小心按到Esc键程序就退出了。我想取消这个功能,如是我重新定义了OnCancel()函数,并在里面注释掉CDialog::OnCancel();这样的话Esc键是不响应了,但是点右上角的"X"时程序就不能退出了。
        这该怎么办,有没有什么更好的办法解决这个问题。还有对Enter键的响应我也不想要。

    2009年9月22日 2:46

答案

  • 回车的话,换一个默认按钮就行
    点右上角的X不能关闭的话可以捕捉WM_CLOSE,调用CDialog::OnCancel();


    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 cyril.qian 2009年9月23日 3:01
    2009年9月22日 12:50
    版主

全部回复

  • 回车的话,换一个默认按钮就行
    点右上角的X不能关闭的话可以捕捉WM_CLOSE,调用CDialog::OnCancel();


    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 cyril.qian 2009年9月23日 3:01
    2009年9月22日 12:50
    版主
  • 果然有效,谢谢版主!

    2009年9月23日 3:01