如何阻止esc关闭对话框?
我搜索了这个主题,但我找到的只是MFC(你可以在MFC中覆盖PreTranslateMessage函数)。但我的程序是用Windows API编写的,不是MFC 。
我试图在Dialog过程中捕获所有键盘消息,但它们都不起作用。我也尝试在对话框中使用子类,但它也不起作用。
我怎么能这样做? 感谢。
答案 0 :(得分:9)
处理WM_COMMAND并检查IDCANCEL。然后不要将控件传递给默认窗口过程。
答案 1 :(得分:0)
您可以轻松地从系统菜单中确定它是否 - 请查看this MSDN page的“返回值”部分,了解具体方法。
如果您无法确定它是来自ESCAPE键还是按钮,您可以通过使用取消按钮的其他标识符来解决这个问题。