CDlgA的对象 调用 CDlgB的对象 (方法:dlg.DoModal()), CDlgB的对象做了一个动作(m_nSendStatus = 1;m_nSendStatus是CDlgB的成员变量),想把这个值传给CDlgA的对象, 有什么好方法? (除了设置全局变量的方法) CDlgB dlg;
if (dlg.DoModal() == IDOK)
{
////想在这里通过指针,把值传出来.
}
解决方案 »
- MFC ADO查询Access数据库的问题
- 如何实现两个CScrollView视同步滚动?
- 服务器回调客户端组件接口时出错!!!
- 谁遇到过这种错误
- VC中ADO连接数据库问题
- 回复过诚邀加盟VC++游戏开发学习小组请注意!
- 急!vc.net添加cdialog类后出现WINDOWS.H already included. MFC apps must not #include <windows.h>
- BHO编程中遇到:注册后无法打开IE的问题???
- 求大神帮忙啊,vs2010出现问题了
- 问一个很菜的问题,有点急啊
- cbutton怎样设置一部分文字的字体,而另一部分是另一种字体?
- 如何设置datagrid复选框
if (dlg.DoModal() == IDOK)
{
xxx = dlg.m_nSendStatus;
}
{
public:
CDlgB(){m_pDlgA = NULL;}
void SetDlgAPointer(CDlgA * pDlgA){m_pDlgA = pDlgA;}
void OnInitDialog(){if (m_pDlgA) m_pDlgA->DoSomething();}
protected:
CDlgA * m_pDlgA;
};class CDlgA
{
public:
void DoSomething(){};
void OnInitDialog()
{
CDlgB dlg;
dlg.SetDlgAPointer(this);
if (dlg.DoModal() == IDOK)
{
}
}
};
if (dlg.DoModal() == IDOK)
{
xxx = dlg.m_nSendStatus; -----> dlg都退了来了,为什么它的变量还有效?
}
dlg还没析构,成员变量当然有效
CDlgB dlg;
if (dlg.DoModal() == IDOK)
{
xxx = dlg.m_nSendStatus; -----> dlg都退了来了,为什么它的变量还有效? -->dlg还没析构,成员变量当然有效
nCount = dlg.m_listbox.GetCount(); ---->没有析构,为什么无效,不能访问到.
}
虽然没有析构,但是dlg的窗口已经Destroy了,他里面的子窗口(比如这个m_listbox)也会全部Destroy