我的问题是这样的:首先在主对话框内输入任意一个整数,假设为5,点击确定,那么再出现一个对话框,此对话框上要求出现5个排列整齐的editbox。或者如果能够直接在主对话框的editbox中输入数组也行,就不用上面的方法那么麻烦乐。不知道editbox控件能不能实现数组的输入?

解决方案 »

  1.   

    可以使用EditBox的多行特性MultiLine在对话框中加入一个EditBox控件,设置Styles中属性MultiLine和Want Return
    这样的话就可以在EditBox中输入多行数据了需要输入多行数据的时候,用CTRL+Enter进行换行
      

  2.   

    读取EditBox中的数据的时候可以用
    CEdit::GetLine()得到相应的行这样的话就可以在CEditBox控件中输入一个数组,然后可以读出来
    应该实现你的要求了吧
      

  3.   

    看看这段读取过程到一个CString中CEdit* pmyEdit= (CEdit*)GetDlgItem(IDC_Editbox) ;int i, nLineCount = pmyEdit->GetLineCount();CString strText, strLine;   // Dump every line of text of the edit control.
       for (i=0;i < nLineCount;i++)
       {
          pmyEdit->GetLine(i, strText.GetBuffer(pmyEdit->LineLength(i)));
          strText.ReleaseBuffer();      strLine.Format(TEXT("line %d: '%s'\r\n"), i, strText.GetBuffer(0));
       }
      

  4.   

    如果动态创建先创建编辑框对象,然后生成窗口对象就可以了。
    CEdit pEdit = new CEdit;
    pEdit->Create(.........);
      

  5.   

    同意楼上,不过不要忘了用#define定义一个ID呀!要不程序回认不出来你的按钮的!
      

  6.   

    先new出来
    create一下
    show一下
      

  7.   

    IF(!SHOW)
        YOU WON'T SEE THE WINDOWS;
      

  8.   

    to:SeainBlue(爱海)
    假如对话框有一个m_editPower的控件,我要在里面输入一个double型的数组,然后在把这个数组的值返回给程序中的变量Var,怎么实现?能不能给出具体的程序?谢谢先!
      

  9.   

    我用了下面的代码,大家看看错在哪?
    UpdateData(true);
    int i;
    int nLineCount = m_editLower.GetLineCount();
    Mm temp=zeros(1,nLineCount);
    CString strText, strLine;
    for (i=0;i<nLineCount;i++)
       {
         m_editLower.GetLine(i, strText.GetBuffer(m_editLower.LineLength(i)));
         strLine.Format(TEXT("line %d: '%s'\r\n"), i, strText.GetBuffer(0));
         strText.ReleaseBuffer();
         temp.r(1,i+1)=atoi((LPCTSTR)strLine);
       }