ツール バー コントロールでのイメージ リストの使い方
更新 : 2007 年 11 月
既定では、ツール バー コントロールのボタンで使用されるイメージは 1 つのビットマップとして格納されます。ただし、ボタンのイメージを一連のイメージ リスト内に格納することもできます。ツール バー コントロール オブジェクトでは、最大 3 つのイメージ リストを使用できます。
有効イメージ リスト 現在使用できるツール バー ボタンのイメージが含まれます。
無効イメージ リスト 現在使用できないツール バー ボタンのイメージが含まれます。
強調表示イメージ リスト 現在強調表示されている、ツール バー ボタンのイメージが含まれます。このイメージ リストは、ツール バーに TBSTYLE_FLAT スタイルが設定されている場合にだけ使用されます。
これらのイメージ リストは、ツール バー コントロールを CToolBarCtrl オブジェクトに関連付けるときにツール バー コントロールによって使用されます。この関連付けは、CToolBarCtrl::SetImageList、SetDisabledImageList、および 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 オブジェクトに関連付けられると、フレームワークは適切なボタン イメージを自動的に表示します。