MFC 子窗口怎么得到父窗口的父窗口的指针,并对父窗口的父窗口的按钮进行操作??
2个回答
展开全部
子窗口获得父窗口指针 GetParent();
比如父窗体如下
CParentDlg : public CDialog
{
public:
CButton m_bt;
}
子窗体操作父窗体的按钮m_bt,可以这样(CParentDlg *)GetParent()->m_bt.SetWindowText("hello");
比如父窗体如下
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");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用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();
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询