有时候我们在写MFC程序时,需要在对话框中开启线程处理一些事情,如果在线程执行过程中点击关闭按钮,会导致程序崩溃。

这里介绍一种解决方法,禁用关闭按钮

解决方法

开启线程前禁用关闭按钮

 CMenu* pSysMenu = GetSystemMenu(FALSE);
ASSERT(pSysMenu != NULL);
pSysMenu->EnableMenuItem(SC_CLOSE,MF_DISABLED);

线程结束后启用关闭按钮

pSysMenu->EnableMenuItem(SC_CLOSE,MF_ENABLED);
05-07 10:55