非模态对话框如何得到其父对话框指针,在线等
我创建了一个对话框程序,然后在这个对话框实例中创建了一个非模态对话框,此时我想在非模态对话框中调用父对话框中的一些变量,请问如何得到其父对话框的指针。...
我创建了一个对话框程序,然后在这个对话框实例中创建了一个非模态对话框,此时我想在非模态对话框中调用父对话框中的一些变量,请问如何得到其父对话框的指针。
展开
6个回答
展开全部
首先你创建了对话框不管是模态还是非模态的对话框他都是一级子对话框就可以使用
CDlgParentClassName* parent = (CDlgParentClassName *)GetParent();
父对话框的指针有了,这么都行了(只可访问public和protected成员)
CDlgParentClassName* parent = (CDlgParentClassName *)GetParent();
父对话框的指针有了,这么都行了(只可访问public和protected成员)
追问
只能是一级子对话框么?在生成的多级子对话框,是否能够用这个方法依次拉起一条类似链表的结构?
追答
可以。。只要是父对话框就行,子对话框就能通过Getparent获得指针
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
创建非模式对话框:
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();
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();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
比如CDlgA是父类窗口,在弹出的子类窗口中可以这样写:
#include "DlgA.h"
.....
CDlgA * parent = (CDlgA*)GetParent();
parent->m_edit.SetWIndowText("Hello!");//调用父类的控件变量,为其赋值
#include "DlgA.h"
.....
CDlgA * parent = (CDlgA*)GetParent();
parent->m_edit.SetWIndowText("Hello!");//调用父类的控件变量,为其赋值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该用this指针直接调用其父对话框的变量把,不用去获得指针了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-06-04
展开全部
不太懂
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询