百度在某些方面也挻好的,比如以下轉載的內容:
CListCtrl
CListCtrl
| CObject |
| └CCmdTarget |
| └CWnd |
| └CListCtrl |
CListCtrl類封裝“列表視圖控制項”功能,顯示每個包含表徵圖(列表視圖中)和標籤的收集。除表徵圖和標籤外,每一項還能有顯示在表徵圖和標籤的右邊的列中的資訊。此控制項(以及CListCtrl類)只適用於運行於Windows 95和Windows NT 3.51及更高版本的程式。 下面是CListCtrl類的主要概況。對於詳細的、概念性的討論,請參閱聯機文檔“Visual C++程式員指南”中的“使用ClistCtrl”和“控制項主題”。 視圖 列表視圖控制項可用四種不同方式顯示其內容,稱為“視圖”。
| · |
表徵圖視圖 每一項以全尺寸表徵圖(32×32像素)出現,下面有一個標籤。使用者可在列表視圖視窗拖動項到任意位置。 |
| · |
小表徵圖 視圖每一項以小表徵圖(16×16像素)出現,右邊有一個標籤。使用者可在列表視圖視窗拖動項到任意位置。 |
| · |
列表視圖 每一項以小表徵圖出現,下面有一個標籤。項按列排列,不能拖動到列表視圖視窗的任何位置。 |
| · |
報表視圖 每一項在本行上出現,右邊有排列成列的附加資訊。最左邊的列包含小表徵圖和標籤,下一列包含應用指定的子項。嵌入標題控制項實現這些列。要瞭解報表視表徵圖題控制項和列的更多資訊,請參閱聯機文檔“Visual C++程式員指南”中的“使用CListCtrl:給控制項添加列(報表視圖)”。 |
控制項的當前列表視圖風格指定當前視圖。要瞭解這些風格及其用法的更多資訊,請參閱聯機文檔“Visual C++程式員指南”中的“使用CListCtrl:改變清單控制項風格”。 擴充風格 除了標準列表風格,類CListCtrl支援一系列提供豐富功能的擴充風格。此功能的一些樣本包括:
| · |
逗留選擇 有效時,若游標保持在某項上一段時間,則允許自動選擇該項。 |
| · |
虛列表視圖 如果有效,允許控制項支援DWORD項。通過把管理應用項資料放在最頂上而成為可能。除了項選擇和焦點資訊,所有項資訊必須由應用管理。要瞭解更多資訊,請參閱聯機文檔“Visual C++程式員指南”中的“使用CListCtrl:虛清單控制項”。 |
| · |
單擊或雙擊啟用 如果有效,允許熱跟蹤(項文本自動高亮顯示)和高亮顯示項目的單擊和雙擊啟用。 |
| · |
拖放列表命令 如果有效,允許拖放列表視圖控制項中列的記錄。只對報表視圖有效。 |
要瞭解使用新擴充風格的更多資訊,請參閱聯機文檔“Visual C++程式員指南”中的“使用CListCtrl:改變清單控制項風格”。 項和子項 列表視圖控制項中的每一項含有一個表徵圖、一個標籤、一個目前狀態和應用定義值(稱為“項資料”)。一個或更多子項還可與每一項聯絡。一個“子項”是一個字串,在報表視圖中可顯示在項表徵圖和標籤右邊的列裡。列表視圖控制項中的每一項都必須與子項數目相同。 類CListCtrl提供一些函數來插入、刪除、尋找和更改這些項。要瞭解更多資訊,請參閱“Visual C++程式員指南”中的“使用CListCtrl:清單控制項中的滾動、排列、排序和尋找”。同時請參閱CListCtrl::GetItem,CListCtrl::InsertItem和CListCtrl::FindItem。 預設時,列表視圖控制項負責儲存一個項的表徵圖和文字屬性。然而,除了這些項類型外,類CListCtrl支援“回調項”。一個“回調項”是一個列表視圖項,每個應用棗而不是控制項棗儲存文本,表徵圖或兩者。回調掩碼用於指定哪個項的屬性(文本和/或表徵圖)由應用提供。如果應用使用回調項,它必須可以提供按需要提供文本和/或表徵圖屬性。回調項在你的應用已有部分這種資訊時很有協助。要瞭解更多資訊,請參閱CListCtrl::GetCallBackMask和“使用CListCtrl:回調項和回調掩碼”。 圖象列表 表徵圖、標題項圖象和應用定義的列表視圖項狀態包含在一些圖象列表中(由類CImageList實現),可建立和指派到列表視圖控制項中。每個列表視圖控制項可有四個以上的圖象清單類型:
| · |
大表徵圖 在表徵圖視圖中使用,得到全尺寸表徵圖。 |
| · |
小表徵圖 用於小表徵圖、列表和報表視圖中,得到表徵圖視圖中使用的小版本的表徵圖。 |
| · |
應用定義的狀態 包含狀態圖象,在項表徵圖旁顯示以指示一個應用定義狀態。 |
| · |
標題項 用於在報表視圖中,得到出現在每個標題控制項項中的小圖象。 |
預設時,列表視圖控制項刪除指派給它的圖象列表(當它刪除時);然而,開發人員可通過刪除由應用定義的不再使用的圖象列表。 #include <afxcmn.h> 請參閱:CImageList CListCtrl類的成員 建構函式
| ClistCtrl |
構造一個CListCtrl對象 |
| Create |
建立清單控制項並將其附加給CListCtrl對象 |
屬性
| GetBkColor |
擷取列表視圖控制項的背景色 |
| SetBkColor |
設定列表視圖控制項的背景色 |
| GetImageList |
擷取用於繪製列表視圖項的圖象列表的控制代碼 |
| SetImageList |
指定一個圖象列表到列表視圖控制項 |
| GetItemCount |
擷取列表視圖控制項中的項的數量 |
| GetItem |
擷取列表視圖項的屬性 |
| GetCallbackMask |
擷取列表視圖控制項的回調掩碼 |
| SetCallbackMask |
設定列表視圖控制項的回調掩碼 |
| GetNextItem |
尋找指定特性和指定指定項關係的列表視圖項 |
| GetFirstSeletedItemPosition |
在列表視圖控制項中擷取第一個選擇的列表視圖項的位置 |
| GetNextSeletedItem |
為重複而擷取下一個選擇的列表視圖 |
| GetItemRect |
擷取項的有界矩形 |
| SetItemPosition |
在列表視圖控制項中移動一項到指定位置 |
| GetItemPosition |
擷取列表視圖項的位置 |
| GetStringWidth |
指定需要顯示所有指定字串的最小列寬 |
| GetEditControl |
擷取用於編輯一個項文本的編輯控制項的控制代碼 |
| GetColumn |
擷取控制項的列的屬性 |
| SetColumn |
設定列表視圖列的屬性 |
| GetColumnWidth |
擷取報表視圖或列表視圖中的列的寬度 |
| SetColumnWidth |
改變報表視圖或列表視圖中的列的寬度 |
| GetCheck |
擷取與某項相關的狀態圖象的當前顯示狀態 |
| SetCheck |
設定與某項相關的狀態圖象的當前顯示狀態 |
| GetViewRect |
擷取列表視圖控制項中所有項的有界矩形 |
| GetTextColor |
擷取列表視圖控制項的文本顏色 |
| SetTextColor |
設定列表視圖控制項的文本顏色 |
| GetTextBkColor |
擷取列表視圖控制項的文本背景色 |
| SetTextBkColor |
設定列表視圖控制項的文本背景色 |
| GetTopIndex |
擷取最進階項的索引 |
| GetCountPerPage |
計算可正好垂直放入列表視圖控制項中的項的數目 |
| GetOrigin |
擷取列表視圖控制項的最初的當前視圖 |
| SetItemState |
改變列表視圖控制項的項的狀態 |
| GetItemState |
擷取列表視圖控制項的項的狀態 |
| GetItemText |
擷取列表視圖項或子項的文本 |
| SetItemText |
設定列表視圖項或子項的文本 |
| SetItemCount |
準備一個列表視圖控制項以添加大量的項 |
| GetItemData |
擷取與某項相關的應用所指定的值 |
| SetItemData |
設定項的應用指定的值 |
| GetSelectedCount |
擷取列表視圖控制項中選擇項的數量 |
| SetColumnOrderArray |
設定列表視圖控制項的列序(左或右) |
| GetColumnOrderArray |
擷取列表視圖控制項的列序(左或右) |
| SetIconSpacing |
設定列表視圖控制項中的表徵圖的距離 |
| GetHeaderCtrl |
擷取列表視圖控制項的標題控制項 |
| GetHotCursor |
擷取在熱調試對列表視圖控制項有效時使用的遊標 |
| SetHotCursor |
設定在熱調試對列表視圖控制項有效時使用的遊標 |
| GetSubItemRect |
擷取列表視圖控制項中某項的有界矩形 |
| GetHotItem |
擷取當前在遊標下的列表視圖項 |
| SetHotItem |
設定列表視圖控制項的當前熱項 |
| GetSelectionMark |
擷取列表視圖控制項的選擇屏蔽 |
| SetSelectionMark |
設定列表視圖控制項的選擇屏蔽 |
| GetExtendedStyle |
擷取列表視圖控制項的當前擴充風格 |
| SetExtendedStyle |
設定列表視圖控制項的當前擴充風格 |
| SubItemHitTest |
指定哪個列表視圖項在指定位置,若存在 |
| GetWorkAreas |
擷取列表視圖控制項的當前工作區 |
| GetNumberOfWorkAreas |
擷取列表視圖控制項的當前工作區數量 |
| SetItemCountEx |
設定虛列表視圖控制項的項的數量 |
| SetWorkAreas |
設定列表視圖控制項中表徵圖可以顯示的地區 |
| ApproximateViewRect |
指定顯示列表視圖控制項項所需的寬度和高度 |
| GetBkImage |
擷取列表視圖控制項的當前背景圖象 |
| SetBkImage |
設定列表視圖控制項的當前背景圖象 |
| GetHoverTime |
擷取列表視圖控制項的當前逗留時間 |
| SetHoverTime |
設定列表視圖控制項的當前逗留時間 |
操作
| InsertItem |
在列表視圖控制項中插入一個新項 |
| DeleteItem |
從控制項中刪除一項 |
| DeleteAllItems |
從控制項中刪除所有項 |
| FindItem |
尋找具有指定的字元的列表視圖項 |
| SortItems |
使用應用定義的比較函數排序列表視圖項 |
| HitTest |
指定哪個列表視圖在指定的位置上 |
| EnsureVisible |
保證項是可見的 |
| Scroll |
滾動列表視圖控制項的內容 |
| ReDrawItems |
強迫列表視圖控制項重新整理一些項 |
| Update |
強迫控制項重新整理一個指定的項 |
| Arrange |
調整一欄裡的項 |
| EditLabel |
開始項文本該處編輯 |
| InsertColumn |
插入列表視圖控制項中的新列 |
| DeleteColumn |
從列表視圖控制項中刪除一列 |
| CreateDragImage |
為指定的項構造一個拖動圖象列表 |
可覆蓋的函數
| DrawItem |
當自繪製控制項的可視部分改變時被調用 |