我有一个MFC应用程序,我不希望在运行期间关闭它。我已禁用右上角的“X”图标,但现在如果我按下ESC键,或ALT + F4它仍然关闭。
我如何禁用此功能,如果有人按下这些键,它将无法关闭?程序运行完毕后,我想重新启用它们。
谢谢,
kampi
答案 0 :(得分:7)
如果您处理WM_CLOSE
消息并将其丢弃。 (即不要拨打DefWindowProc
),然后窗口将不会关闭。
您还可以使用CS_NOCLOSE
样式注册窗口类,以禁用关闭窗口的所有常规方法。
答案 1 :(得分:3)
无法说出Esc键,但就Alt + F4而言,它会向主窗口发送关闭命令。您基本上需要覆盖OnClose事件并将其保持为空(不是调用基本方法)。这应该可以解决问题。
P.S。由于我多年没有接触过MFC,所以可能不是100%真实。我是怎么记得的。