我的一个对话框上有大概100多个控件需要DDX,从文件中读取参数到控件中,前面的92个可以正确显示出来,到第93个及后面的时候怎么显示不正确了呢(显示的是默认的数,比如Edit中显示0,而不是正确的参数)?我试过了,确实是DDX的数量限制问题。可是我在网上找不到方法!!!
我就怕没人解决得了,先给20分探探路,呵呵
解决完后另开帖大量送分!!!

解决方案 »

  1.   

    没有遇到过这种问题,你要一个对话框上放这么多控件做什么??????这么多控件的话最好是用动态生成的,手动要弄死人了另外 你可以试试CWnd::SubclassDlgItem()函数
    BOOL CAboutDlg::OnInitDialog() 
    {
       CDialog::OnInitDialog();
       // IDC_BUTTON1 is the ID for a button on the 
       // dialog template used for CAboutDlg.
       m_myButton.SubclassDlgItem(IDC_BUTTON1, this);      return TRUE;   // Return TRUE unless you set the focus to a control
                      // EXCEPTION: OCX Property Pages should return FALSE
    }这样可以后期绑定,加在OnInitDialog里,应该没有数量限制了
      

  2.   

    没有数量限制 测试用100个编辑控件都没有问题
    Edit中显示0 说明DDX执行了.
    估计是读文件的问题.申明变量
    int m_q[100];
    构造函数初始化
    for(int i = 0; i < 100; i++)
    {
    m_q[i] = i;
    }
    DoDateExchange for(int i = 0; i < 100; i++)
    {
    DDX_Text(pDX, IDC_EDIT1 + i, m_q[i]);
    }
      

  3.   

    呵呵,确实是读文件的问题
    来这里领分啊
    http://community.csdn.net/Expert/topic/4571/4571719.xml?temp=.977276