MFC 如何获取父窗口的指针

在CFormView中我想获取父窗口的指针this->GetParentFrame()获取的是不是CChildFrame的指针?为什么得到的是空的呢?我在CFormVie... 在CFormView 中 我想获取 父窗口的指针 this->GetParentFrame() 获取的是不是CChildFrame 的指针? 为什么得到的是空的呢?
我在CFormView 中 用GetParent 也是什么都获取不到
展开
 我来答
allentlee
推荐于2016-02-03 · TA获得超过518个赞
知道小有建树答主
回答量:386
采纳率:0%
帮助的人:183万
展开全部
GetParent得到的是CWnd*,是父窗口的指针;
GetParent()->GetSafeHWnd(),可以得到父窗口的句柄

如果只是调用窗口的类似函数,CWnd * ch = GetParent()就可以了,如果是要调用CHomeView里面的接口,CHomeView * ch = (CHomeView * ) GetParent();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
馒头上线了
2015-08-19 · TA获得超过221个赞
知道小有建树答主
回答量:162
采纳率:66%
帮助的人:84.2万
展开全部

CMainDlg * pDlg = (CMainDlg*)AfxGetMainWnd();

pDlg就是主窗口指针

但这个应该是主窗口的指针 如果要得到A的指针的话

  1.  在主对话框类的.h文件中定义CADlg * pA;

  2. 在A的初始化函数里

        CMainDlg * pDlg = (CMainDlg*)AfxGetMainWnd();

        pDlg->pA = this;


这样的话在B中获得pDlg 然后通过pDlg->pA调用即可


以上均需要添加相应的头文件

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
苏其海
推荐于2018-02-11 · TA获得超过186个赞
知道答主
回答量:53
采纳率:0%
帮助的人:56.8万
展开全部
可能你用的指针类型有差别吧。
用CWindowDC这个类试试

CWindowDC dc(GetParent());
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
paniclp
2010-05-16 · TA获得超过232个赞
知道小有建树答主
回答量:700
采纳率:0%
帮助的人:415万
展开全部
你是说获取父窗口句柄吧
GetParent就可以了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式