MFC父子窗体问题

1,MFC中为什么在子窗体的类的头文件#include父窗体类的头文件会报错?2,子窗体中如何控制父窗体中的控件?... 1,MFC中为什么在子窗体的类的头文件#include父窗体类的头文件会报错?
2,子窗体中如何控制父窗体中的控件?
展开
 我来答
匿名用户
2011-05-08
展开全部
直接说还真不好说
包含父窗口头文件不一定会报错,看怎么包含了
控制父窗口的控件,首先看父窗口有没有提供这个接口,如果有的话,子窗口调用GetParent获得父窗口指针,然后就可以对控件进行操作了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
paperNote
2011-05-08 · TA获得超过386个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:261万
展开全部
你试一下这样行不行,以下是我常用的办法

在子类的cpp文件中加入:
#include "DlgParent.h"

在子类的cpp文件的函数中加入:
CDlgParent * parent = (CDlgParent*)GetParent();
parent->m_edit.SetWindowText("朋友,你好!");
追问
我这样试过了。
在系统文件里面有个ASSERT(::IsWindow(m_hWnd)),这里会报错!!!
追答
怪我没说清楚,应该先在父类弹出子类对话框,如在OK按钮加入DoModal函数:
void CParentDlg::OnOK()
{
// TODO: Add extra validation here
CDlgMe dlg;
dlg.DoModal();
}

然后在子类的OK按钮写入:
#include "ParentDlg.h"
........
void CDlgMe::OnOK()
{
// TODO: Add extra validation here
CParentDlg * parent = (CParentDlg*)GetParent();
parent->m_edit.SetWindowText("朋友,你好!");
CDialog::OnOK();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友96aa8d3
2011-05-08 · TA获得超过433个赞
知道小有建树答主
回答量:2306
采纳率:75%
帮助的人:954万
展开全部
getParent()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式