在一个对话框中获取另一对话框的CHECK控件所关联的变量的值解决思路

在一个对话框中获取另一对话框的CHECK控件所关联的变量的值
如何在一个对话框中获取另一对话框的CHECK控件所关联的变量的值。我在main对话框中要调用另一个对话框beijing中一个CHECK控件所关联的变量m_beijing_1的值,请问该如何操作。最好有具体代码。下面是我的部分代码:

  if(m_beijing) //m_beijing是主对话框中的一个CHECK控件的关联变量
{
CBeiJingDlg beijing_dlg;
beijing_dlg.UpdateData();
if(beijing_dlg.m_beijing_1)  
  { shi_num[i]=1; xian_num[i]=0; i++; }//市辖区
  }
但是程序报错,不知道该如何解决,请各位指点迷津!谢谢!

------解决方案--------------------
beijing_dlg.UpdateData只能在beijing_dlg打开后调用,不能在之前调用,否则会出错,

一般对话框都是模式对话框,你只能在打开前给变量赋值,关闭后从变量取值,不需要调用UpdateData,UpdateData一般是在对话框内部处理的时候调用,
------解决方案--------------------
一般写法是这样:beijing_dlg.DoModal会自动调用两次beijing_dlg.UpdateData,一次在打开的时候,一次在关闭的时候,你无需手工调用,

if(m_beijing) //m_beijing是主对话框中的一个CHECK控件的关联变量
{
CBeiJingDlg beijing_dlg;
 if (beijing_dlg.DoModal()==IDOK)
{
 if(beijing_dlg.m_beijing_1)
{ shi_num[i]=1; xian_num[i]=0; i++; }//市辖区
}
}
}

------解决方案--------------------
你也可以做一个静态变量,时刻保存这个值,方便在任何时候调用!
------解决方案--------------------
探讨

引用:

一般写法是这样:beijing_dlg.DoModal会自动调用两次beijing_dlg.UpdateData,一次在打开的时候,一次在关闭的时候,你无需手工调用,

if(m_beijing) //m_beijing是主对话框中的一个CHECK控件的关联变量
{
CBeiJingDlg beijing_dlg;
if (beiji……

------解决方案--------------------
探讨
引用:

一般写法是这样:beijing_dlg.DoModal会自动调用两次beijing_dlg.UpdateData,一次在打开的时候,一次在关闭的时候,你无需手工调用,

if(m_beijing) //m_beijing是主对话框中的一个CHECK控件的关联变量
{
CBeiJingDlg beijing_dlg;
if (beijin……

------解决方案--------------------
CBeiJingDlg beijing_dlg;
 beijing_dlg.UpdateData();
 if(beijing_dlg.m_beijing_1)
{ shi_num[i]=1; xian_num[i]=0; i++; }//市辖区
}
------------
你这只是定义一个窗口类的对象,但是并没有和具体的窗口关联起来。你后面的UpdateData()与窗口相关的操作就都是非法的
------解决方案--------------------
这个问题简单,当你调用beijing_dlg.DoModal之后,马上把beijing_dlg.m_beijing_1保存到main对话框的一个变量中,确定的时候访问main对话框的变量而不是直接访问beijing_dlg.m_beijing_1,
 
探讨

引用:

一般写法是这样:beijing_dlg.DoModal会自动调用两次beijing_dlg.UpdateData,一次在打开的时候,一次在关闭的时候,你无需手工调用,

if(m_beijing) //m_beijing是主对话框中的一个CHECK控件的关联变量
{
CBeiJingDlg beijing_dlg;
if (beiji……