在Visual Studio C ++ 2008 Pro中的MFC对话框上执行额外的初始化

时间:2010-05-29 17:38:34

标签: c++ mfc

如何在调用DoModal()之前在模式对话框上进行额外的初始化; ?

使用VS向导创建整个应用程序。 我有一个主对话框(我在Visual Studio 2008 Professional中选择新的MFC应用程序时自动创建的对话框)。
当我单击此对话框上的按钮时,我想打开另一个对话框并将CString值设置为CEdit控件。

我的代码:

...
void MainDlg::OnClickedButtonX(){
   SecondDialogClass Dlg2;
   Dlg2.asocVar2Cedit.SetWindowTextW(L"my text");
   Dlg2.DoModal();
}
//asocVar2Cedit is the associeted control variable to the 
//CEdit control on the second Dialog (Right Click > Add Variable..  in VSC++)
...

此代码在运行时生成winocc中的“Debug Assertion”错误...

任何想法?
提前谢谢。

1 个答案:

答案 0 :(得分:1)

OnInitDialogWM_INITDIALOG)处理程序添加到您的CDialog派生类中并使其初始化。