ツール バー コントロールでのイメージ リストの使い方
既定では、ツール バー コントロールのボタンで使用されるイメージは、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);
Note
ツール バー オブジェクトで使用されるイメージ リストは、永続的なオブジェクトである必要があります。 このため、それらは通常は MFC クラスのデータ メンバーです。この例では、メイン フレーム ウィンドウ クラスです。
イメージ リストが CToolBarCtrl
オブジェクトに関連付けられると、フレームワークによって適切なボタン イメージが自動的に表示されます。