我在一个Dialog里添加了一个ListBox,再加了个CListBox控制变量,
在调用DoModal()之前我要住ListBox里加些东西,
可我在
OnCreate()
OnInitDialog()
构造函数里操作Clistbox控制变量,它都是一个无效的,
那我要在什么地方操作这个变量?

解决方案 »

  1.   

    OnCreate()这里加无效
    OnInitDialog() 这个有效  
    请问你是怎么加的??
      

  2.   

    在ListBox所在的对话框中的OnInitDialog()中添加。如果不行的话那就是你的添加代码有问题。建议把代码发出来给大家看看。。
      

  3.   

    CTestDlg dlg;
    dlg.mListCtrl.AddString("test");
    dlg.DoModal();
    应该可以, EditBox可以这样使
      

  4.   

    这样是不行的我用过
    我解决的方法是:
    在ListBox所在的对话框中的CTestDlg::OnInitDialog()中添加;
    定义一个对话框的Public:CString m_Test;// 成员变量-获取初始化的变量信息
         //如果要添加的多的话定义个: CStringArray 变量即可
    CTestDlg::OnInitDialog()
    {
    mListCtrl.AddString(m_Test);
    Updatate(false); //刷新显示
    }
    //------
    在调用的时候
    CTestDlg dlg; 
    dlg.m_Test="test"
    dlg.DoModal(); 
    这个方法也许不是最好的,但是可以使用
      

  5.   


    BOOL CTestDlg::OnInitDialog() 
    {
    CDialog::OnInitDialog();

    // TODO: Add extra initialization here
    m_list.AddString("test");
    return TRUE;  // return TRUE unless you set the focus to a control
                  // EXCEPTION: OCX Property Pages should return FALSE
    }这样不就可以了吗。搞这么复杂。
      

  6.   

    就是在OnInitDialog()里初始化,
    而且一定要在调用了CDialog::OnInitDialog();以后再初始化。
      

  7.   

    在OnInitDialog()里面加LZ肯定是别的地方有问题。。