如何得到CListCtrl控件的列的个数和相应的列名!

解决方案 »

  1.   

    GetHeaderCtrl().GetItemCount
    GetHeaderCtrl().GetItem
      

  2.   

    CListCtrl *pListCtrl=GetDlgItem(ID_ListCtrl);
     pListCtrl->GetHeaderCtrl().GetItemCount();
    pListCtrl->GetHeaderCtrl().GetItem();
      

  3.   

    // 填充一个listctrl
    CRect rect;
    GetClientRect(&rect);
    const int cntColumn = 4;
    const int cntRow = 10;
    int i,j;
    for( i = 0; i < cntColumn; ++i)
    m_listctrl.InsertColumn(i, "abc", LVCFMT_LEFT, rect.Width()/cntColumn);
    for( i = 0; i < cntRow; ++i)
    {
    m_listctrl.InsertItem(i,"xyz");
    for( j = 1; j < cntColumn; ++j)
    {
    m_listctrl.SetItemText(i, j, "xyz");
    }
    } // 获得列数
    int column = m_listctrl.GetHeaderCtrl()->GetItemCount();
    TRACE0("the counts of columns: %d", column); // 获得第一列的列名
    LVCOLUMN col;
    col.mask = LVCF_TEXT;
    col.pszText = new TCHAR[20];
    col.cchTextMax = 20;
    m_listctrl.GetColumn(0, &col);
    AfxMessageBox(col.pszText);