程序主窗口有一个button,点击button可以创建两个子窗口.
我需要将子窗口1的变量num,传递进子窗口2
调试过程(此时在子窗口2)中出现这样的情况:
主窗口按钮的代码:
void CMFCweibullDlg::OnBnClickedButton2Weibull()
{
// TODO: 双参数Weibull分布
if (NULL == m_pC2WeibullDlg)
{
//创建非模态对话框
m_pC2WeibullDlg = new C2WeibullDlg();
m_pC2WeibullDlg->Create(IDD_DIALOG_2Weibull, this);
}
//显示非模态对话框
m_pC2WeibullDlg->ShowWindow(SW_SHOW);
C2WeibullDlg* child_dlg = (C2WeibullDlg*)m_pC2WeibullDlg; //强制转换为子窗口类型
child_dlg->Calculate2Weibull(); //调用子窗口计算分布参数函数
if (NULL == m_pCpic2WeibullDlg)
{
//创建非模态对话框
m_pCpic2WeibullDlg = new Cpic2WeibullDlg();
m_pCpic2WeibullDlg->Create(IDD_DIALOG_pic2Weibull, this);
}
//显示非模态对话框
m_pCpic2WeibullDlg->ShowWindow(SW_SHOW);
Cpic2WeibullDlg* child1_dlg = (Cpic2WeibullDlg*)m_pCpic2WeibullDlg; //强制转换为子窗口类型
child1_dlg->Draw2Weibull(); //调用子窗口绘图函数
子窗口2的代码:
void Cpic2WeibullDlg::Draw2Weibull()
{
vector<double>px;
vector<double>py;
C2WeibullDlg* pFatherDlg = (C2WeibullDlg*)GetParent();
int pnum = pFatherDlg->num;
px = pFatherDlg->x1;
py = pFatherDlg->wblpdf;
......
}
是不是非父子关系的对话框不能通过GetParent()语句传值呢?
发送自定义消息
修改一下
C2WeibullDlg* pFatherDlg = (C2WeibullDlg*)(GetParent()->GetParent());
```