ツール バー コントロールでのイメージ リストの使い方
既定では、ツールバー コントロール内のボタンによって使用されるイメージは一つのビットマップとして格納されます。ただし、一連のイメージ リストにあるボタン イメージを格納できます。ツールバー コントロールのオブジェクトは 3 つまでの個別のイメージ リストを使用する:
有効なイメージ リストは現在有効になっているツールバー ボタンのイメージが含まれています。
無効イメージのリストは、現在無効になっているツールバー ボタンのイメージが含まれています。
強調表示されたイメージ リストは現在強調表示されているツールバー ボタンのイメージが含まれています。このイメージ リストはツールバーが TBSTYLE_FLAT のフォームを使用する場合にのみ使用されます。
これらのイメージ リストはツールバー コントロールによって CToolBarCtrl のオブジェクトに関連付けるときに使用されます。この関連付けは CToolBarCtrl::SetImageList、 SetDisabledImageListと SetHotImageListへの呼び出しを作成することによって行います。
既定では、 MFC でツールバー アプリケーションを実行するために CToolBar のクラスを使用します。ただし CToolBarCtrl の埋め込みオブジェクトを取得するには、 GetToolBarCtrl のメンバー関数を使用できます。返されたオブジェクトを使用して CToolBarCtrl のメンバー関数に対して呼び出しを実行できます。
次の例は CToolBarCtrl のオブジェクト (m_ToolBarCtrl) ()m_ToolBarDisabledImagesの有効な ()m_ToolBarImages無効イメージ リストを割り当てることで、この手法を示します。
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 オブジェクトに関連付けられている場合、フレームワークは自動的に適切なボタン イメージを表示します。