WTL FrameWindow窗口程序SDI中,当子窗口使用了CCommandBarCtrl控件后。主程序MainFrm调用 dialog.DoModal后,使用MessageBox始终报错,百思不得其解。后发现CCommandBarCtrl这个控件很奇怪,子窗口退出的时候。好像再次调用其它DoModal就要报错,而MessageBox则是模态窗口。
解决方法很简单,不要使用 CDialog dlg;dlg.DoModal(),这种方式,而使用
CDialog * pDlg;
pDlg=new CDialog;
pDlg->DoModal();
delete pDlg;
MessageBox("Test Mesage,hello world");
这样的方式,强制释放退出。