在 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++ 中怎样添加动态链接库?