MFC 子窗口怎么得到父窗口的父窗口的指针,并对父窗口的父窗口的按钮进行操作??

 我来答
ysdoc
2012-06-05 · TA获得超过746个赞
知道小有建树答主
回答量:586
采纳率:60%
帮助的人:398万
展开全部
子窗口获得父窗口指针 GetParent();
比如父窗体如下
CParentDlg : public CDialog
{
public:
CButton m_bt;
}
子窗体操作父窗体的按钮m_bt,可以这样(CParentDlg *)GetParent()->m_bt.SetWindowText("hello");
追问
提示error C2039: 'm_bt' : is not a member of 'CWnd' 这种错误。。怎么办呢?
我的目的就是希望通过点击子窗口的按钮,使能父窗口的按钮(父窗口的按钮在父类初始化函数里被我设置为禁用了:GetDlgItem(IDC_CAOZUO)->EnableWindow(FALSE);)
追答
((CParentDlg *)GetParent())->->m_bt.SetWindowText("hello");
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zxr12143725
2012-06-05
知道答主
回答量:28
采纳率:0%
帮助的人:27.2万
展开全部
用AfxGetMainWnd可以获得主窗口的句柄
追问
我在子类 函数里这么写		   
CMyDlg *pMMD = (CMyDlg*)AfxGetMainWnd();
GetDlgItem(IDC_CAOZUO,pMMD)->EnableWindow(TRUE);
可是报错error C2664: 'void __thiscall CWnd::GetDlgItem(int,struct HWND__ ** ) const' : cannot convert parameter 2 from 'class CMyDlg *' to 'struct HWND__ ** '
错误指向第二句的
追答
CDialog   *pMMD = (CDialog*)AfxGetMainWnd();
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式