樹狀結構控件 (CTreeCtrl) 中的每個專案都可以有一對與其相關聯的點陣圖影像。 影像會出現在專案標籤的左側。 選取專案時會顯示一個影像,另一個影像則會在未選取項目時顯示。 例如,專案可能會在選取時顯示開啟的資料夾,而未選取時會顯示關閉的資料夾。
若要使用項目影像,您必須先建構 CImageList 物件,然後使用 CImageList::Create 函式來建立相關的影像清單。 然後將所需的位圖新增至清單,並使用 SetImageList 成員函式將清單與樹狀結構控件產生關聯。 根據預設,所有項目都會在影像清單中顯示所選和未選取狀態的第一個影像。 使用 InsertItem 成員函式將專案新增至樹狀結構控件時,您可以指定選取和未選取影像的索引,以變更特定專案的預設行為。 您可以使用 SetItemImage 成員函式,在新增項目之後變更索引。
樹狀控制項的影像列表也可以包含疊加影像,這些影像設計用來疊加在項目影像上。 樹狀結構控件項目狀態位 8 到 11 的非零值會指定重疊影像的單一索引(0 表示沒有重疊影像)。 由於使用 4 位、單一式索引,重疊影像必須是影像清單中的前 15 個影像之一。 如需樹狀結構控件項目狀態的詳細資訊,請參閱本主題稍早的 樹狀結構控制項目狀態概觀 。
如果指定了狀態圖片列表,樹狀結構控制項會在每個項目圖示的左側保留一個空間,以放置狀態圖片。 應用程式可以使用狀態影像,例如已核取和已清除的複選框,來指出應用程式定義的項目狀態。 位 12 到 15 的非零值會指定狀態影像的單一索引(0 表示沒有狀態影像)。
藉由指定 I_IMAGECALLBACK 值,而不是影像的索引,您可以延遲指定選取或未選取的影像,直到專案即將重新繪製為止。 I_IMAGECALLBACK 指示樹狀控制項透過傳送 TVN_GETDISPINFO 通知訊息來向應用程式查詢索引。
GetImageList 成員函式會擷取樹狀控件影像清單的句柄。 如果您需要將更多影像新增至清單,此函式會很有用。 如需映像清單的詳細資訊,請參閱在 MFC 參考中使用 CImageList、Windows SDK 中的影像清單。