ツール バー コントロールでのイメージ リストの使い方

既定では、ツール バー コントロールのボタンで使用されるイメージは、1 つのビットマップとして格納されます。 ただし、ボタン イメージを一連のイメージ リストに格納することもできます。 ツール バー コントロール オブジェクトでは、最大 3 つの個別のイメージ リストを使用できます。

  • 有効化されたイメージ リストには、現在有効になっているツール バー ボタンのイメージが含まれています。

  • 無効化されたイメージ リストには、現在無効になっているツール バー ボタンのイメージが含まれています。

  • 強調表示されたイメージ リストには、現在強調表示されているツール バー ボタンのイメージが含まれています。 このイメージ リストが使用されるのは、ツール バーが TBSTYLE_FLAT スタイルを使用する場合に限られます。

これらのイメージ リストは、CToolBarCtrl オブジェクトに関連付けるときにツール バー コントロールによって使用されます。 この関連付けは、CToolBarCtrl::SetImageListSetDisabledImageListSetHotImageList を呼び出して行います。

既定では、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 オブジェクトに関連付けられると、フレームワークによって適切なボタン イメージが自動的に表示されます。

関連項目

CToolBarCtrl の使い方
コントロール