You can define a string and bind it to listbox, then in OnInitDialog() function to initialize it. If you want to change the value, just use UpdateData() function, OK?

解决方案 »

  1.   

    我用的方法如下:结果是listbox中全部灰掉。怎么回事?
             CListBox list;
    DDX_Control(pDX,IDC_LIST1,list);
    char dian[11];
    int n_size=s[sample];
    list.InitStorage(n_size,n_size*11);
    int total=0;
    for(int k2=0;k2<sample;k2++)
    total+=s[k2];
    for(int i=0;i<n_size;i++)
    {
    CPoint *dd;
    dd=(CPoint*)m_mouseposition[total+i];
    int x=dd->x,y=dd->y;
    wsprintf(dian,"(%4d,%4d)",x,y);
    list.AddString(dian);
    }
      

  2.   

    我用的是void CShujukuSave::DoDataExchange(CDataExchange* pDX)函数中
    交换数据,发现结果是灰色的,而且非法操作。
      

  3.   

    AddString()
    DeleteString()
    InsertString()
    ResetContent()
    FindString()
    SelectString()
    是可用的
      

  4.   

    我用了addstring,但不知道哪里出错,哪位高手帮忙看看我的程序(见上),问题出在哪里?
      

  5.   

    应该在InitStorage()之前调用AddString()
    InitStorage()是用于排序缓冲的
      

  6.   

    刚才搞错了,可能由于内存分配取整造成内存分配不够,试试list.InitStorage(n_size,n_size*16);
      

  7.   

    如果不用initstorage可以吗?我第一次做的时候,没有用,但结果还是如此。我的操作给list赋值有问题吗?
      

  8.   

    给你一个函数对list1插入字符串
    bool CCFileTestDlg::AddList(LPSTR lpTitle)
    {
    CListBox *list;
    list = (CListBox *)this->GetDlgItem(IDC_LIST1);
    return (list->AddString(lpTitle) != LB_ERR);
    }
    使用
    AddList("第一行");
    AddList("第二行");