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

Posted

技术标签:

【中文标题】在 Visual Studio C++ 2008 Pro 中的 MFC 对话框上进行额外的初始化【英文标题】:Doing extra initialisations on a MFC Dialog in Visual Studio C++ 2008 Pro 【发布时间】:2010-05-29 17:38:33 【问题描述】:

如何在调用 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】:

OnInitDialog (WM_INITDIALOG) 处理程序添加到您的 CDialog 派生类并让它自行初始化。

【讨论】:

实际上这可能会有所帮助..但我不明白你到底是什么意思..方法原型是什么?我如何让它自己初始化?

以上是关于在 Visual Studio C++ 2008 Pro 中的 MFC 对话框上进行额外的初始化的主要内容,如果未能解决你的问题,请参考以下文章

将 C++ 项目从 Visual Studio 2008 转换为 Visual Studio 2010

visual studio 2008 c++ 中怎样添加动态链接库?

Visual Studio 2008 C++ 语言支持?

Visual Studio 2008下的C++项目结构

如何在 Visual Studio 2008 和 C++ 中显示希腊字符? [复制]

Visual Studio 2008 Profiler 是不是适用于非托管 C++?