共用方式為


在工具列控制項中使用影像清單

根據預設,工具列控制項中按鈕所使用的影像會儲存為單一點陣圖。 不過,您也可以將按鈕影像儲存在一組影像清單中。 工具列控制項物件最多可以使用三個不同的影像清單:

  • 已啟用的影像清單 包含目前啟用之工具列按鈕的影像。

  • 已停用的影像清單包含目前停用之工具列按鈕的影像。

  • 反白顯示的影像清單包含目前反白顯示之工具列按鈕的影像。 只有當工具列使用TBSTYLE_FLAT樣式時,才會使用此影像清單。

當您將這些影像清單與 CToolBarCtrl 物件產生關聯時,工具列控制項會使用這些影像清單。 呼叫 CToolBarCtrl::SetImageList、SetDisabledImageList SetHotImageList 來完成此關聯 。

根據預設,MFC 會 CToolBar 使用 類別來實作 MFC 應用程式工具列。 不過, GetToolBarCtrl 成員函式可用來擷取內嵌 CToolBarCtrl 物件。 接著,您可以使用傳回的物件呼叫 CToolBarCtrl 成員函式。

下列範例示範這項技術,方法是將已啟用的 ( m_ToolBarImages ) 和已停用的 () 影像清單指派給 CToolBarCtrl 物件 ( m_ToolBarDisabledImages m_ToolBarCtrl )。

CWinApp* pApp = AfxGetApp();

m_ToolBarImages.Create(16, 16, ILC_COLOR, 4, 4);
m_ToolBarImages.Add(pApp->LoadIcon(IDI_BLK));
m_ToolBarImages.Add(pApp->LoadIcon(IDI_RED));
m_ToolBarImages.Add(pApp->LoadIcon(IDI_YELL));
m_ToolBarImages.Add(pApp->LoadIcon(IDI_WHI));

m_ToolBarDisabledImages.Create(16, 16, ILC_COLOR, 4, 4);
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_BLK));
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_RED));
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_YELL));
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_WHI));

m_ToolBarCtrl.SetImageList(&m_ToolBarImages);
m_ToolBarCtrl.SetDisabledImageList(&m_ToolBarDisabledImages);

注意

工具列物件所使用的影像清單必須是永久物件。 因此,它們通常是 MFC 類別的資料成員;在此範例中,主要框架視窗類別。

影像清單與 CToolBarCtrl 物件相關聯之後,架構會自動顯示適當的按鈕影像。

另請參閱

使用 CToolBarCtrl
Controls