在OnInitDialog中根据inum获取全部10个控件,
还是用ShowWindow(SW_SHOW) or SW_HIDE

解决方案 »

  1.   

    还有问题
    1.问题:如何遍历得到m_iShow个CEdit的CString的值2.已经完成如下:
    //首先重载了构造函数,
    CDialog2::CDialog2(int iShow,CWnd* pParent /*=NULL*/)
    : CDialog(CDialog2::IDD, pParent)
    { m_iShow=iShow;
    }
    //在初始化对换框的时候一个个遍历到m_iShow
    BOOL CDialog2::OnInitDialog() 
    {
    CDialog::OnInitDialog();
    CEdit * pEdit;
    for(int i=0;i<m_iShow;i++)
    {
    pEdit=(CEdit *)GetDlgItem (IDC_EDIT21+i);
    pEdit->ShowWindow (FALSE);
    }
    return TRUE;
    }
    //主窗体中调用时
    void CDialogTestDlg::OnOpenOther() 
    {
    CDialog2 CDia(2);
    if(CDia.DoModal ()==IDOK)
    {
                //如何添加代码获得IDC_EDIT21到IDC_EDIT21+m_iShow个
                //CEdit中所填写的值
    }
    }
      

  2.   

    现在实现了,就是有点老土,不知道你有没有其他方法
    先把CEdit声明为CString的Member,一个个声明
    void CDialogTestDlg::OnOpenOther() 
    {
    CDialog2 CDia(数);
    if(CDia.DoModal ()==IDOK)
    {
    CString *pStr[4];
    pStr[1]=&CDia.m_Str1 ;
    pStr[2]=&CDia.m_Str2 ;
    pStr[3]=&CDia.m_Str3 ;
    pStr[4]=&CDia.m_Str4 ;
    for(int i=0;i<CDia.m_iShow ;i++)
    {
    //对 *pStr[i+1]进行相应的操作
    }
    }
    }