有时候我们在写MFC程序时,需要在对话框中开启线程处理一些事情,如果在线程执行过程中点击关闭按钮,会导致程序崩溃。
这里介绍一种解决方法,禁用关闭按钮
解决方法
开启线程前禁用关闭按钮
CMenu* pSysMenu = GetSystemMenu(FALSE);
ASSERT(pSysMenu != NULL);
pSysMenu->EnableMenuItem(SC_CLOSE,MF_DISABLED);
线程结束后启用关闭按钮
pSysMenu->EnableMenuItem(SC_CLOSE,MF_ENABLED);