非模态对话框如何得到其父对话框指针,在线等

我创建了一个对话框程序,然后在这个对话框实例中创建了一个非模态对话框,此时我想在非模态对话框中调用父对话框中的一些变量,请问如何得到其父对话框的指针。... 我创建了一个对话框程序,然后在这个对话框实例中创建了一个非模态对话框,此时我想在非模态对话框中调用父对话框中的一些变量,请问如何得到其父对话框的指针。 展开
 我来答
手机用户10010
2011-06-04 · TA获得超过360个赞
知道答主
回答量:114
采纳率:0%
帮助的人:105万
展开全部
首先你创建了对话框不管是模态还是非模态的对话框他都是一级子对话框就可以使用
CDlgParentClassName* parent = (CDlgParentClassName *)GetParent();
父对话框的指针有了,这么都行了(只可访问public和protected成员)
追问
只能是一级子对话框么?在生成的多级子对话框,是否能够用这个方法依次拉起一条类似链表的结构?
追答
可以。。只要是父对话框就行,子对话框就能通过Getparent获得指针
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
侯清超
2011-06-06 · 超过20用户采纳过TA的回答
知道答主
回答量:66
采纳率:0%
帮助的人:57.3万
展开全部
创建非模式对话框:
C_HQCDlgSetPDBAccess* g_pSAP(NULL);//全局变量
g_pSAP=new C_HQCDlgSetPDBAccess();
g_pSAP->Create(IDD__HQCDLG_SETPDBACCESS,this);//this为子对话框的父窗口指针
g_pGD->CWndSetWndRect(g_pSAP,&rcDlg);//设置窗口位置尺寸

获取父窗口指针:
if(!g_pSAP) return NULL;
CWnd* pParent=g_pSAP->GetParent();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
paperNote
2011-06-04 · TA获得超过386个赞
知道小有建树答主
回答量:208
采纳率:0%
帮助的人:261万
展开全部
比如CDlgA是父类窗口,在弹出的子类窗口中可以这样写:

#include "DlgA.h"
.....
CDlgA * parent = (CDlgA*)GetParent();
parent->m_edit.SetWIndowText("Hello!");//调用父类的控件变量,为其赋值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
郭泽明123456
2011-06-08 · 超过12用户采纳过TA的回答
知道答主
回答量:60
采纳率:0%
帮助的人:30.7万
展开全部
应该用this指针直接调用其父对话框的变量把,不用去获得指针了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-06-04
展开全部
不太懂
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式