m_ctrlList.InsertColumn(1,Head,LVCFMT_LEFT,-1,-1);//此句出现异常
改成
m_ctrlList.InsertColumn(0,Head,LVCFMT_LEFT,-1,-1);
从0开始

解决方案 »

  1.   

    如:
    m_ctrList.Create(WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT,CRect(10,10,400,200), this, 10001);
    m_ctlList.InsertColumn(....);
      

  2.   

    LV_COLUMN lvcol;
    m_ListCtrl.ModifyStyle(LVS_TYPEMASK, LVS_REPORT);
    m_ListCtrl.SetExtendedStyle(LVS_EX_FULLROWSELECT);
    // add head of listCtrl
    lvcol.mask = LVCF_FMT|LVCF_SUBITEM|LVCF_TEXT|LVCF_WIDTH;
    lvcol.fmt = LVCFMT_RIGHT;
    nCountI = 0;
    lvcol.pszText = "列名1";
    lvcol.iSubItem = nCountI;
    lvcol.cx = 120;//宽度
    m_ListCtrl.InsertColumn(nCountI++, &lvcol);
    lvcol.fmt = LVCFMT_LEFT;
    lvcol.pszText = "列名2";
    lvcol.iSubItem = nCountI;
    lvcol.cx = 80;
    m_ListCtrl.InsertColumn(nCountI++, &lvcol);
      

  3.   

    从0开始我也试过了,还是一样。Create应该在CListCtrl      m_ctrlList;的构造函数里执行了吧?
      

  4.   

    void CUserListView::OnInitialUpdate() 
    {
    CListView::OnInitialUpdate(); m_smallImageList.Create(16, 16, FALSE, 1, 0);
    m_largeImageList.Create(32, 32, FALSE, 1, 0); HICON hIcon = ::LoadIcon (AfxGetResourceHandle(),
    MAKEINTRESOURCE(IDI_SMALL_ICON));
    m_smallImageList.Add(hIcon);
    hIcon = ::LoadIcon (AfxGetResourceHandle(),
      MAKEINTRESOURCE(IDI_SMALL_ICON));
    m_largeImageList.Add(hIcon); //设置用户列表的图象
    GetListCtrl().SetImageList(&m_smallImageList, LVSIL_SMALL);
    GetListCtrl().SetImageList(&m_largeImageList, LVSIL_NORMAL); // Create the columns.
        LVCOLUMN lvColumn;
        lvColumn.mask = LVCF_FMT | LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
        lvColumn.fmt = LVCFMT_CENTER;
        lvColumn.cx = 75;    lvColumn.iSubItem = 0;
        lvColumn.pszText = "姓名";
        GetListCtrl().InsertColumn(0, &lvColumn);
        
    lvColumn.iSubItem = 1;
        lvColumn.pszText = "性别";
        GetListCtrl().InsertColumn(1, &lvColumn); lvColumn.iSubItem = 2;
    lvColumn.pszText = "所属区域";
        GetListCtrl().InsertColumn(2, &lvColumn);
        
    lvColumn.iSubItem = 3;
        lvColumn.pszText = "在线时间";
        GetListCtrl().InsertColumn(3, &lvColumn); lvColumn.iSubItem = 4;
        lvColumn.pszText = "用户ID";
        GetListCtrl().InsertColumn(4, &lvColumn);
    }
      

  5.   

    构造函数中应该是不会CREATE的,建议你还是试试我的方法,我做过测试的
      

  6.   

    构造函数是不会自动调用CREATE的。
    所以要自己调用CREATE函数。
    或者你定义一个指针让其指向一个已存在的LISTCTRL你还是试试我的方法吧