ヘッダー コントロールでのイメージ リストの使い方
更新 : 2007 年 11 月
ヘッダー項目内には、イメージを表示できます。関連イメージ リストに格納されたこのイメージは 16 x 16 ピクセルで、リスト ビュー コントロールで使用するアイコン イメージと同じ特性を持っています。この動作を正常に実装するには、最初にイメージ リストを作成および初期化し、リストをヘッダー コントロールに関連付けて、イメージを表示するヘッダー項目の属性を変更します。
ヘッダー コントロールに対するポインタ (m_pHdrCtrl) とイメージ リストに対するポインタ (m_pHdrImages) を使用した詳細な手順を次に示します。
ヘッダー項目にイメージを表示するには
CImageList コンストラクタを使用して、生成されたポインタを格納し、新しいイメージ リストを構築します。または、既存のイメージ リスト オブジェクトを使用します。
CImageList::Create を呼び出して、新しいイメージ リスト オブジェクトを初期化します。この呼び出しのコード例を次に示します。
m_ListImageList.Create(16, 16, ILC_COLOR, 2, 2);
各ヘッダー項目のイメージを追加します。次に、2 種類の定義済みイメージを追加するコードを示します。
m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1)); m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
CHeaderCtrl::SetImageList を呼び出して、イメージ リストをヘッダー コントロールに関連付けます。
関連するイメージ リストのイメージを表示するように、ヘッダー項目を変更します。次の例では、m_phdrImages の最初のイメージをヘッダー項目 m_pHdrCtrl の先頭項目に割り当てます。
HDITEM curItem = {0}; pHeaderCtrl->SetImageList(&m_ListImageList); curItem.mask = HDI_TEXT | HDI_FORMAT | HDI_WIDTH | HDI_IMAGE; curItem.pszText = _T("Column 1"); curItem.cxy = 100; curItem.iImage = 0; curItem.fmt = HDF_LEFT | HDF_STRING | HDF_IMAGE; pHeaderCtrl->InsertItem(0, &curItem);
使用されるパラメータ値の詳細については、対応する「CHeaderCtrl」を参照してください。
メモ : |
---|
複数のコントロールで同じイメージ リストを使用できます。たとえば、標準のリスト ビュー コントロールで、小さいアイコン ビューとヘッダー項目の両方に 16 x 16 ピクセルのイメージを使用する場合は、同じイメージ リストを使用できます。 |