既定では、ツール バー コントロールのボタンで使用されるイメージは 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 オブジェクトに関連付けられると、フレームワークは適切なボタン イメージを自動的に表示します。