我现在把ListCtrl控件绑定在对话框上,我在视类中调用这个对话框的时候,怎么往这个控件里面写数据呢?我写数据的时候出错了!
还有如果我这个控件里面有复选框,我怎么知道这个复选框被选中了呢?

解决方案 »

  1.   

    insertcolume(),setcolumewidth()后,写数据还是用insertitem(),和setitemtext()吧?
      

  2.   

    就比如我在对话框绑定了一个ListCtrl成员 m_ListCtrl, 定义一个dlg 但是我用这个 
    int index = dlg.m_ListCtrl.InsertItem(dlg.m_ListCtrl.GetItemCount(),"");
    dlg.m_ListCtrl.SetItemText(index,0,"socket accept ok");
    出错了
    但是我在对话框的cpp中的初始化函数中用下面的代码是可以的
    int index = list.InsertItem(list.GetItemCount(),"");
    list.SetItemText(index,0,"socket accept ok");
    到底是怎么回事呢
      

  3.   

    首先insertcolumn,然后先写第一列,即insertitem,在写其他的列,即 setitem.
    cbutton m_check;
    if(m_check()==1)
    则复选框被选。
      

  4.   

    可能是对话框中的控件在你引用时,窗口句柄还是空的。watch一下dlg.m_ListCtrl.hWnd试不是为空啊??
      

  5.   

    kingsun(smartpointer) 
    那应该怎么作呢??有什么好的办法呢?
      

  6.   

    dlg还没有建立起来当然不能往List中插入可以这样,给dlg在定义一些成员变量,把需要插入的值赋给它们比如;dlg.m_data1 = 1;然后在OnInitDialog中用这些值给List用
      

  7.   

    把要显示在ListCtrl里的数据传到对话框上,在对话框的OnInitDialog里做你上面的Inset去做或者做一个无模式的对话框Create后再Insert