次の方法で共有


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

更新 : 2007 年 11 月

既定では、ツール バー コントロールのボタンで使用されるイメージは 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);
35h8b20c.alert_note(ja-jp,VS.90).gifメモ :

ツール バー オブジェクトで使用されるイメージ リストは永続的なオブジェクトにする必要があります。このため、イメージ リストは通常、MFC クラスのデータ メンバになっています。上記の例では、メイン フレーム ウィンドウ クラスです。

イメージ リストが CToolBarCtrl オブジェクトに関連付けられると、フレームワークは適切なボタン イメージを自動的に表示します。

参照

概念

コントロール (MFC)

参照

CToolBarCtrl の使い方