在mfc对话框中动态生成四个编辑框输入数据用于计算,第一次输入四个数,在计算后全部清空,然后再输入一组数据为何就无法用于计算,也无法清空了呢?
对话框如下:在“个数”栏中填入:4;点Create按钮生成四个编辑框,如下:第一次输入数据后,把它们的和计算出来放在“总分”栏中,然后全部清空,没有问题。但再次输入数据后就无法计算和清空了,为何?
请大家多多指教!谢谢

解决方案 »

  1.   

    贴代码吧我觉得你编辑框应该是程序启动时候就创建好,Create按钮只是控制他们的隐藏还是显示而已
      

  2.   

    不是的,编辑框是动态创建的。上面的问题已经解决了,但是有一个新的问题
    动态创建编辑框Create按钮函数如下:CEdit * m_pEdits[10];//该数组全局可见
    void CYJDlg::OnCreate() 

      
    // TODO: Add your control notification handler code here
    UpdateData();
    int a=atoi(m_csEdit5);//m_csEdit5  为个数栏中数据<=10;
    for(int i=0;i<a;i++){
    CEdit * pEdit =new CEdit; m_pEdits[i] = pEdit;
    pEdit->CreateEx(WS_EX_CLIENTEDGE,_T("Edit"),   "",   
            WS_CHILD|WS_VISIBLE|WS_TABSTOP|ES_AUTOHSCROLL, CRect(106+59*i, 170,         153+59*i, 190), this, i);

    }
    }
    想要在关闭对话框的时候释放动态分配的内存,这个释放的函数应该放在哪?我定义了一个析构函数,不过不起作用。
    在关闭对话框时,总会出现assertion failure提示!!