CListCtrl

CListCtrl

CListCtrl,是一種“列表視圖控制項”,用於四種不同方式顯示其內容。

基本介紹

  • 中文名:控制項
  • 外文名:CListCtrl
  • 功能:“列表視圖控制項”
  • 視圖:可用四種不同方式顯示其內容
控制項,視圖,擴展風格,項和子項,圖象列表,構造函式,構造函式,屬性,操作,可覆蓋的函式,

控制項

CListCtrl類封裝了“列表視圖控制項”功能,顯示每個包含圖示(列表視圖中)和標籤的收集。除圖示和標籤外,每一項還能有顯示在圖示和標籤右邊列中的信息。此控制項(以及CListCtrl類)只適用於運行於Windows 95和Windows NT 3.51及更高版本的程式。
下面是CListCtrl類的主要概況。對於詳細的、概念性的討論,請參閱在線上文檔“Visual C++程式設計師指南”中的“使用ClistCtrl”和“控制項主題”。

視圖

列表視圖控制項可用四種不同方式顯示其內容,稱之為“?>視圖”。
圖示視圖:每一項以全尺寸圖示(32×32像素)出現,下面有一個標籤。用戶可在列表視圖視窗拖動項到任意位置。
小圖示:視圖每一項以小圖示(16×16像素)出現,右邊有一個標籤。用戶可在列表視圖視窗拖動項到任意位置。
列表視圖:每一項以小圖示出現,下面有一個標籤。項按列排列,不能拖動到列表視圖視窗的任何位置。
報表視圖:每一項在本行上出現,右邊有排列成列的附加信息。最左邊的列包含小圖示和標籤,下一列包含套用指定的子項。嵌入標題控制項實現這些列。要了解報表視圖示題控制項和列的更多信息,請參閱在線上文檔“Visual C++程式設計師指南”中的“使用CListCtrl:給控制項添加列(報表視圖)”。
控制項的當前列表視圖風格指定當前視圖。要了解這些風格及其用法的更多信息,請參閱在線上文檔“Visual C++程式設計師指南”中的“使用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查找指定特性和指定指定項關係的列表視圖項。
GetFirstSelectedItemPosition在列表視圖控制項中獲取第一個選擇的列表視圖項的位置。
GetNextSelectedItem為重複而獲取下一個選擇的列表視圖。
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當自繪製控制項的可視部分改變時被調用。

相關詞條

熱門詞條

聯絡我們