如果编一个加法器,有3个CEdit控件,一个输入加数(m_add),一个输入被加数(m_add_x),最后一个显示结果(m_result)。还有一个CButton控件(DIR())来控制加法事件。请问在CBotton控件的DIR()函数里怎么code。谢先!

解决方案 »

  1.   

    将三个编辑控件设为Number,添加DDX三个数据成员
    IDC_ADD1 - m_nAdd1;
    IDC_ADD2 - m_nAdd2;
    IDC_SUM - m_nSum;
    在DIR()中如下UpdateData(TRUE);
    m_nSum = m_nAdd1 + m_nAdd2;
    UpdateData(FALSE);
      

  2.   

    响应CButton事件
    youdlg::OnDIR()
    {
    CString s1,s2,s3;
    m_add.GetWindowText(s1);
    m_add_x.GetWindowText(s2);
    double d1=atof(s1)+atof(s2);
    s3.Format("%.2f",d1);
    m_result.SetWindowText(s3);
    }
      

  3.   

    youdlg::OnDIR()
    {
    CString s1,s2,s3;
    m_add.GetWindowText(s1); //取出加数到字符串
    m_add_x.GetWindowText(s2);////取出被加数到字符串
    double d1=atof(s1)+atof(s2); //转换成双精度数据类型并相加
    s3.Format("%f",d1); //将双精度数据类型转换成字符串,原来我的写法是只要保留两位小数点
    m_result.SetWindowText(s3); //显示结果
    }
      

  4.   

    响应CButton事件
    youdlg::OnDIR()
    {
    CString s1,s2,s3;
    m_add.GetWindowText(s1);
    m_add_x.GetWindowText(s2);
    double d1=atof(s1)+atof(s2);
    s3.Format("%.2f",d1);
    m_result.SetWindowText(s3);
    }