次の方法で共有


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

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

  • 有効イメージ リスト   現在使用できるツール バー ボタンのイメージが含まれます。

  • 無効イメージ リスト   現在使用できないツール バー ボタンのイメージが含まれます。

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

これらのイメージ リストは、ツール バー コントロールを CToolBarCtrl オブジェクトに関連付けるときにツール バー コントロールによって使用されます。 この関連付けは、CToolBarCtrl::SetImageListSetDisabledImageList、および 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 オブジェクトに関連付けられると、フレームワークは適切なボタン イメージを自動的に表示します。

参照

参照

CToolBarCtrl の使い方

概念

コントロール (MFC)