1.看参考MSDN中相关成员函数
2,3给例程,Email

解决方案 »

  1.   

    1.消息NM_CLICK,LVN_ITEMCHANGED
    2.函数SortItems( PFNLVCOMPARE pfnCompare, DWORD dwData );
    pfnCompare是用于排序的函数;
    3.准备一副图,16*16,ID=IDB_ITEM_STATUS,红色为透明色,用下面的代码简单举例
    LV_COLUMN lvc;
    CImageList m_ImageList;
    CString szText;
    szText.LoadString(IDS_SD_LISTHEAD);m_ImageList.Create (IDB_ITEM_STATUS, 16, 0, RGB (255, 0, 0));
    m_ctrlList.SetImageList(&m_ImageList, LVSIL_SMALL);//插入header
    lvc.mask = LVCF_WIDTH | LVCF_TEXT | LVCF_SUBITEM;
    lvc.pszText = (LPTSTR)(LPCTSTR)szText;
    lvc.cchTextMax = szText.GetLength();
    lvc.cx = 300;
    lvc.iSubItem = 0;
    m_ctrlList.InsertColumn(0, &lvc);//插入item
    LV_ITEM lvi;
    POSITION pos;
    int nIndex = 0;lvi.mask = LVIF_IMAGE | LVIF_TEXT;
    lvi.iSubItem = 0;
    lvi.iItem = 0;
    szText = _T("Text");
    lvi.pszText = (LPTSTR)(LPCTSTR)szText;
    lvi.cchTextMax = szText.GetLength();
    lvi.iImage = 0;
    m_ctrlList.InsertItem(&lvi);
      

  2.   

    CListCtrl
    POSITION pos = NULL;
    pos = m_List.GetFirstSelectedItemPosition();
    if(pos != NULL) // 选中
    CTreeCtrl
    HTREEITEM htItem = m_Tree.GetSelectItem();
    if(htItem != NULL) // 选中选中ListCtrl时,响应点击列头的消息,然后在调用SortItem函数实现排序,在回调函数中,用自己的排序函数完成实际的排序功能。
      

  3.   

    显示图标
    LVCOLUMN lv;
    lv.iImage = lIndex;  //lIndex是你要显示的图标序号,图标用的是绑定的SMALL图标,和下面的图标一样的
    lv.fmt = LVCFMT_IMAGE;  //不太合理,应该保留其他对齐方式等
    SetColumn(lCol,&lv);