MFC中的列表視圖控制項CListCtrl

來源:互聯網
上載者:User

在使用CListCtrl控制項Report顯示風格時,需要設定欄位標題資訊,否則不能向控制項中添加資料資訊,編輯欄位標題需要使用InsertColumn方法。
    m_ListCtrl.InsertColumn(0, "姓名", LVCFMT_LEFT, 150, 0);
    m_ListCtrl.InsertColumn(1, "聯絡電話", LVCFMT_LEFT, 150, 1);

為CListCtrl控制項添加行:
    在CListCtrl控制項中添加資訊時不能直接向控制項中添加列資訊,需要先為控制項添加行,使用InsertItem方法:
    m_ListCtrl.InsertItem(0, "");

為CListCtrl控制項添加資料:
    通過SetItemText方法可以為任意行的任意列添加資料:
    m_ListCtrl.SetItemText(0, 0, "Name");
    m_ListCtrl.SetItemText(0, 1, "123456");

設定CListCtrl控制項的擴充風格:
    使用SetExtendedStyle函數可以設定CListCtrl控制項的擴充風格,如顯示方式,畫出網格線等:
    m_ListCtrl.SetExtendedStyle(
          LVS_EX_FLATSB    // 扁平風格滾動
        | LVS_EX_FULLROWSELECT    // 允許正航選中
        | LVS_EX_HEADERDRAGDROP    // 允許標題拖拽
        | LVS_EX_ONECLICKACTIVEATE    // 高亮顯示
        | LVS_EX_GRIDLINES    // 畫出網格線
        );

單擊CListCtrl控制項欄位標題進行排序:
    在使用CListCtrl控制項的Report顯示風格時,要實現單擊欄位標題進行排序需要在控制項的LVN_COLUMNCLICK訊息的處理函數中添加SortItem函數:
   

// Sort the item in reverse alphabetical order.
static int CALLBACK
MyCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
// lParamSort contains a pointer to the list view control.
// The lParam of an item is just its index.
CListCtrl* pListCtrl = (CListCtrl*) lParamSort;
CString    strItem1 = pListCtrl->GetItemText(lParam1, 0);
CString    strItem2 = pListCtrl->GetItemText(lParam2, 0);

return strcmp(strItem2, strItem1);
}

void snip_CListCtrl_SortItems()
{
// The pointer to my list view control.
extern CListCtrl* pmyListCtrl;

// Sort the list view items using my callback procedure.
pmyListCtrl->SortItems(MyCompareProc, (LPARAM) pmyListCtrl);
}

改變head的背景顏色 :
listview 用到了CHeaderCtrl, 繼承CHeaderCtrl 重新寫個CColorHeaderCtrl
再在你的listview 用 CColorHeaderCtrl

動態建立listctrl
LVS_EX_FLATSB (Flat Scroll Bars) 這個好像是比較新的控制項, windows支援可能不是很好

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.