vc对话框按ESC消失

来源:百度知道 编辑:UC知道 时间:2024/06/01 03:14:20
我用MFC创建的对话框总是在我按下ESC键后就消失了, 听说按ESC自动调用OnCancel()函数,按ENTER自动调用OnOk()函数,于是我在oncancel()中屏蔽//CDialog::OnCancel()但是这样一来当按下窗口的关闭按钮(就是右上角的那个红叉)时就不能关闭了!请问该怎么办啊!
cfu18:如果仅仅是用DestroyWindow();是不是仅仅关闭了窗口,但是程序仍然在运行啊

这样子说吧,
默认的,ESC调用OnCancel()函数
ENTER并不是自动调用OnOk()函数,
而是焦点刚好在ok按钮上

窗口上的关闭按钮调用的是OnClose(),而OnClose()调用了OnCancel()

如果你非要屏蔽OnCancel(),那么你可以在OnClose()中,
把CDialog::OnClose();写成DestroyWindow();