解决:CWnd::SetWindowText报Assertion failure

时间:2022-07-11 16:18:44

参考资料:

http://www.cnblogs.com/tiancun/p/3756581.html

http://www.tc5u.com/mfc/2120698.htm

http://forums.codeguru.com/showthread.php?379745-setwindowtext-in-cdialog-ctor-causes-assertion-to-fail

出错代码:

 CInfoDlg dlg;
dlg.GetDlgItem(IDC_STATIC)->SetWindowText(_T("来自Add.dll中DoModalDlg的消息"));
return dlg.DoModal();

里面第二行报assertion failure,原因是dialog还没有完成创建就去操作里面的控件,肯定要出错。把第二行的代码放到OnInitDialog中就行了。