1.在Cdiedaijisuan的头文件中定义一个主对话框指针void *m_pMainDlg;
2.CSurfaceDlg中弹出Cdiedaijisuan窗口的函数中增加m_dlg.m_pMainDlg = (void*)this;
3.OnOk()函数修改如下void Cdiedaijisuan::OnOk()
{
((CSurfaceDlg*)m_pMainDlg)->m_shuchu.SetWindowText("你好");
}
2.CSurfaceDlg中弹出Cdiedaijisuan窗口的函数中增加m_dlg.m_pMainDlg = (void*)this;
3.OnOk()函数修改如下void Cdiedaijisuan::OnOk()
{
((CSurfaceDlg*)m_pMainDlg)->m_shuchu.SetWindowText("你好");
}
{
}
不能这么写,应该这么写:
在Surface菜单的消息函数里这么写:
子窗口类名 n;//就象CSurfaceDlg
if(n.DoModal()==IDOK)
{
m_shuchu=n.子窗口的控件比如EDIT的值;
UpdateData();}
用SDI也可以,而且更好,但SDI的视图应该CFormView,而不能是默认的CView类
那个m_dlg是什么呢?显示他是没有定义的啊,他是在哪里定义的呢?
那个m_dlg是什么呢?显示他是没有定义的啊,他是在哪里定义的呢?
m_dlg是CSurfaceDlg中定义的Cdiedaijisuan类型的成员变量,弹出Cdiedaijisuan窗口用的那个就是
那个m_dlg是什么呢?显示他是没有定义的啊,他是在哪里定义的呢?
m_dlg是CSurfaceDlg中定义的Cdiedaijisuan类型的成员变量,弹出Cdiedaijisuan窗口用的那个就是
不好意思,那个还是有问题。我直接上图吧,麻烦您看下吧,我是按照您指导的步骤来的。
编译之后提示,
Compiling...
diedaijisuan.cpp
F:\Surface\diedaijisuan.cpp(52) : error C2039: 'OnOk' : is not a member of 'Cdiedaijisuan'
f:\surface\diedaijisuan.h(14) : see declaration of 'Cdiedaijisuan'
F:\Surface\diedaijisuan.cpp(54) : error C2065: 'CSurfaceDlg' : undeclared identifier
F:\Surface\diedaijisuan.cpp(54) : error C2059: syntax error : ')'
执行 cl.exe 时出错.Surface.exe - 1 error(s), 0 warning(s)
diedaijisuan.h里面包含头文件
#include"SurfaceDlg.h"
应该是m_dlg->m_pMainDlg = (void*)this;
但是编译还是出现相同的问题啊
应该是m_dlg->m_pMainDlg = (void*)this;
但是编译还是出现相同的问题啊dlg在哪定义的
应该是m_dlg->m_pMainDlg = (void*)this;
但是编译还是出现相同的问题啊dlg在哪定义的你刚才告诉我应该在SurfaceDlg中定义的Cdiedaijisuan变量吧?
m_dlg.m_pMainDlg = (void*)this;
m_dlg.Create(IDD_diedaijisuan,this);
m_dlg.ShowWindow(SW_SHOW);