VC ++:如何防止esc关闭对话框(不是mfc)

时间:2009-03-19 11:48:31

标签: c++ windows visual-c++ dialog

如何阻止esc关闭对话框?

我搜索了这个主题,但我找到的只是MFC(你可以在MFC中覆盖PreTranslateMessage函数)。但我的程序是用Windows API编写的,不是MFC

我试图在Dialog过程中捕获所有键盘消息,但它们都不起作用。我也尝试在对话框中使用子类,但它也不起作用。

我怎么能这样做? 感谢。

2 个答案:

答案 0 :(得分:9)

处理WM_COMMAND并检查IDCANCEL。然后不要将控件传递给默认窗口过程。

答案 1 :(得分:0)

您可以轻松地从系统菜单中确定它是否 - 请查看this MSDN page的“返回值”部分,了解具体方法。

如果您无法确定它是来自ESCAPE键还是按钮,您可以通过使用取消按钮的其他标识符来解决这个问题。

相关问题