Mfc 从属性页/工作表调用对话框

Mfc 从属性页/工作表调用对话框,mfc,Mfc,我有一个属性页应用程序。在其中,创建了一个名为mydlg的对话框,该对话框继承自CDialog 在第一个属性页的OnInitDialog中,我尝试按如下方式启动mydlg: mydlg m; m.DoModal(); 但它崩溃了 如果我将这两行移到mypropertysheet中的initInstance,它就会工作,对话框就会启动。在这两个地方,称呼DoModal的正确方式是什么 第二,如何使用编辑框的ID从mypropertysheet initinstance内部读取mydlg上编辑框的

我有一个属性页应用程序。在其中,创建了一个名为mydlg的对话框,该对话框继承自CDialog

在第一个属性页的OnInitDialog中,我尝试按如下方式启动mydlg:

mydlg m;
m.DoModal();
但它崩溃了

如果我将这两行移到mypropertysheet中的initInstance,它就会工作,对话框就会启动。在这两个地方,称呼DoModal的正确方式是什么


第二,如何使用编辑框的ID从mypropertysheet initinstance内部读取mydlg上编辑框的内容。

在DoModal返回后,编辑框已被销毁,因此无法使用编辑框的ID读取。mydlg类应该读取编辑框(通常在OnOK中)并将文本放入mydlg成员变量中。在DoModal返回后,您仍然可以读取mydlg成员变量。

我很困惑。您的代码处于实例化属性页(尚未显示)的中间,并且希望显示模态对话框。您试图显示的对话框的目的是什么?是否可以将其处理封装在属性页上?