次の方法で共有


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

既定では、ツール バー コントロールのボタンによって使用されるイメージは、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 の使用
コントロール