共用方式為


樹狀目錄控制項影像清單

樹狀結構控制項 ( 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 中的影像清單 。

另請參閱

使用 CTreeCtrl
Controls