我在对话框上拖了三个编辑框控件,其中两个编辑框放除数和被除数,另外一个编辑框放结果,结果是当除数和被除数输入后自动显示出来的.请知道的朋友回复下.非常感谢!!

解决方案 »

  1.   

    假设除数编辑框对应变量m_chu,被除数变量m_beichu,结果编辑框对应变量m_jieguo,都是CString类型,要限制必须输入数字,在编辑框属性中选中Number即可,然后分别在被除数编辑框和除数编辑框的OnChangeEdit消息处理函数中加上如下代码
    UpdataData();
    if(atoi(m_chu)!=0)
    {
      m_jieguo.Format("%d",atoi(m_beichu)/atoi(m_chu));
    }
    UpdateData(false);
      

  2.   

    OnChangeEdit
    3楼的就可以
    还比较明白。
      

  3.   

    没有关系,我也在学习MFC有时候天天发,这里面的人比较厉害,可以和他们学习点东西。
      

  4.   

    晕,,OnChangeEdit在哪里添加啊,,我找了半天,是自己MSDN里也没有介绍
      

  5.   

    问题还没完全解决啊
    OnChangeEdit消息处理函数中加上如下代码
    UpdataData();
    if(atoi(m_chu)!=0)
    {
      m_jieguo.Format("%d",atoi(m_beichu)/atoi(m_chu));
    }
    UpdateData(false);这段代码是不是还要添加代码啊
      

  6.   

    我按照上面的要求,双击编辑框控件后形成一个OnChangeEdit函数然后添加上面的代码
    运行后没有反映,不知道还缺少什么,是不是控件ID要添加上去啊,不明白啊,
      

  7.   

    弱弱的问一句 你双击形成的函数 是编辑框变化的响应事件吗?你设置个断点到你的onchangeedit函数里 看看你动了以后是否会跑这里来。单步调试下 看看你最后的m_jieguo是什么。
      

  8.   

    void CLGSDlg::OnChangeEdit4() //被除数编辑框{

        UpdateData();
    if(atoi(m_chu)!=0)
    {
      m_jieguo.Format("%d",atoi(m_beichu)/atoi(m_chu));
    }
    UpdateData(false);
    }void CLGSDlg::OnChangeEdit6() //除数编辑框{

    UpdateData();
    if(atoi(m_chu)!=0)
    {
      m_jieguo.Format("%d",atoi(m_beichu)/atoi(m_chu));
    }
    UpdateData(false);}void CLGSDlg::OnChangeEdit5() //结果
    {

    UpdateData();
    if(atoi(m_chu)!=0)
    {
      m_jieguo.Format("%d",atoi(m_beichu)/atoi(m_chu));
    }
    UpdateData(false);}
    我是这样做的,,我知道这样做有问题帮我改改把,谢谢!!
      

  9.   

    结果编辑框不用写代码,同时我的代码中没有对被除数是否为空进行判断,具体是
    UpdateData();
    if(!m_beichu.IsEmpty() && atoi(m_chu)!=0)
    {
      m_jieguo.Format("%d",atoi(m_beichu)/atoi(m_chu));
    }
    UpdateData(false);}
      

  10.   

    void CLGSDlg::OnChangeEdit4() //被除数
    {
    UpdateData();
    if(!m_beichu.IsEmpty() && atoi(m_chu)!=0)
    {
      m_jieguo.Format("%d",atoi(m_beichu)/atoi(m_chu));
    }
    UpdateData(false);
    }
    void CLGSDlg::OnChangeEdit6() //除数
    {
    UpdateData();
    if(!m_beichu.IsEmpty() && atoi(m_chu)!=0)
    {
      m_jieguo.Format("%d",atoi(m_beichu)/atoi(m_chu));
    }
    UpdateData(false);
    }
      

  11.   

    UpdateData();
    if (!m_beichushu.IsEmpty()&&!m_chushu.IsEmpty()&&atoi(m_chushu)!=0)
    {
    m_jieguo = "";
    m_jieguo.Format("%d",atoi(m_beichushu)/atoi(m_chushu));
    }
    UpdateData(FALSE);把这个放在你的2个编辑框的双击弹出创建的函数里就可以了。我已经运行通过了。不行发我e-mail [email protected]
    我发给你
      

  12.   

    void CMy123Dlg::OnChangechushu() 
    {
    // TODO: If this is a RICHEDIT control, the control will not
    // send this notification unless you override the CDialog::OnInitDialog()
    // function and call CRichEditCtrl().SetEventMask()
    // with the ENM_CHANGE flag ORed into the mask.

    // TODO: Add your control notification handler code here
    UpdateData();
    if (!m_beichushu.IsEmpty()&&!m_chushu.IsEmpty()&&atoi(m_chushu)!=0)
    {
    m_jieguo = "";
    m_jieguo.Format("%d",atoi(m_beichushu)/atoi(m_chushu));
    }
    UpdateData(FALSE);
    }void CMy123Dlg::OnChangeEdit1() 
    {
    // TODO: If this is a RICHEDIT control, the control will not
    // send this notification unless you override the CDialog::OnInitDialog()
    // function and call CRichEditCtrl().SetEventMask()
    // with the ENM_CHANGE flag ORed into the mask.

    // TODO: Add your control notification handler code here
    UpdateData();
    if (!m_beichushu.IsEmpty()&&!m_chushu.IsEmpty()&&atoi(m_chushu)!=0)
    {
    m_jieguo = "";
    m_jieguo.Format("%d",atoi(m_beichushu)/atoi(m_chushu));
    }
    UpdateData(FALSE);
    }
      

  13.   

    兄弟啊!麻烦你了,我VC刚学
    你发封邮件给我好了:[email protected]谢谢了!!
    也该结贴了