我设计了两个对话框,第一个对话框输入数字进行运算,点击确定后弹出第二个对话框并输出结果,这应怎样实现,是通过全局变量吗?

解决方案 »

  1.   

    不用。
    class1::calc()
    {
    ......
    int nResult = GetCalcResult();
    class2 dlg;
    dlg.nResult = nResult;
    ......
    }
      

  2.   

    不用,你可以这样:
    CFirstDlg dlgFirst;
    if(IDOK == dlgFirst.DoModal())
    {
       CSecondDlg dlgSecond;
       dlgSecond.m_Result = dlgFirst.Calculate();   dlgSecond.DoModal();
    }
      

  3.   

    不需要,你可以为第一个对话框定义一个输出参数的成员函数,即
    CInputDialog::OutPutData(double& dData)
    {
      dData = m_dData;
    }
    在第二个对话框中这样用
    CCaculateDialog::OnCommandCacl()
    {
     CInputDialog InputDialog;
     if(InputDialog.DoModuel() == IDOK)
     {
      InputDialog.OuputData(m_dData);//m_dData是本对话框的成员变量
      Caculate(m_dData);
     }
    }