刚开始学习MFC,叙述不清楚还望见谅。设计一个加法原理,就是用两个编辑框中的数相加放到第三个编辑框中,当响应加号按钮时 显示第三个数。我添加的代码如下
  int num1,num2,num3;
  CString  ch1,ch2,ch3;void CJisuanqDlg::OnChangeEdit1() /第一个编辑框的函数
{
  GetDlgItem(IDC_EDIT1)->GetWindowText(ch1);
  num1=atoi(ch1);        / 字符转化为数字
}void CJisuanqDlg::OnChangeEdit2() /第二个编辑框的函数
{
  GetDlgItem(IDC_EDIT1)->GetWindowText(ch1);
  num2=atoi(ch2);
num3=num1-num2; 
}
  
void CJisuanqDlg::OnChangeEdit3()  /第三个编辑框的函数

  _itoa( num3, (char*)(LPCTSTR)ch3, 10 );
}void CJisuanqDlg::OnBtnAdd()  /响应加号按钮单击鼠标左键
{
  GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);
}
结果:能运行,但是当我分别在第一二编辑框中输入数据时,第三个编辑框显示第一个编辑框的数字。求高人帮助。。

解决方案 »

  1.   

    void CJisuanqDlg::OnChangeEdit2() /第二个编辑框的函数
    {
      GetDlgItem(IDC_EDIT1)->GetWindowText(ch1);
      num2=atoi(ch2);
    num3=num1-num2;  
    }
    我怎么看你这里是相减呢?不是相加?
      

  2.   

    debug看 num3的值然后看_itoa( num3, (char*)(LPCTSTR)ch3, 10 );
      

  3.   

    我觉得lz的思路好复杂啊
    直接在edit框中输入,然后再ADD按钮中实现:
      num1=atoi(ch1); 
      num2=atoi(ch2);
      num3=num1-num2;  
      _itoa( num3, (char*)(LPCTSTR)ch3, 10 );
      UpdataDate(FALSE);