既定では、ツール バー コントロールのボタンによって使用されるイメージは、1 つのビットマップとして格納されます。 ただし、一連の画像リストにボタン画像を格納することもできます。 ツール バー コントロール オブジェクトは、最大 3 つの個別のイメージ リストを使用できます。
有効なイメージの一覧現在有効になっているツール バー ボタンのイメージが含まれています。
無効なイメージリスト 現在無効になっているツール バー ボタンの画像が含まれています。
強調表示された画像の一覧 現在強調表示されているツール バー ボタンの画像が含まれています。 このイメージ リストは、ツール バーでTBSTYLE_FLAT スタイルが使用されている場合にのみ使用されます。
これらのイメージ リストは、 CToolBarCtrl
オブジェクトに関連付けるときにツール バー コントロールによって使用されます。 この関連付けは、 CToolBarCtrl::SetImageList、 SetDisabledImageList、および SetHotImageList を呼び出すことによって実現されます。
既定では、MFC は CToolBar
クラスを使用して MFC アプリケーション ツール バーを実装します。 ただし、 GetToolBarCtrl
メンバー関数を使用して、埋め込まれた CToolBarCtrl
オブジェクトを取得できます。 その後、返されたオブジェクトを使用して CToolBarCtrl
メンバー関数を呼び出すことができます。
次の例では、有効 (m_ToolBarImages
) および無効 (m_ToolBarDisabledImages
) イメージ リストを CToolBarCtrl
オブジェクト (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
オブジェクトに関連付けられると、フレームワークによって適切なボタン イメージが自動的に表示されます。