这段时间要用到CMFCTasksPane控件,发现了MFC里面关于该控件存在的一个bug。
当我们再控件的响应函数中再新增一个控件的时候就会出现错误,如下图:我们在Task1的响应函数中创建一个对话框对象,对话框中使用CMFCTasksPane控件。结果在关闭对话框后,在移动面板。便会出现一个错误。如下图所示。如果有兴趣的朋友可以根据调用查看原因,在这里有一个解决的方法。就是在这个对话框结束后,强制将系统的变量改变。
void CMainFrame::OnTask1()
{
CTaskDlg dlg;
dlg.DoModal();
afxGlobalUtils.m_bDialogApp = FALSE; /强制置为假
}
注意,使用了afxGlobalUtils变量之后就要用静态库来编译,动态库编译会出错。希望可以帮到使用该控件的同学