ヘッダー項目にヘッダー項目内のイメージを表示する機能があります。関連付けられたイメージ リストに格納されているこのイメージは 16 × 16 ピクセルで、リスト ビュー コントロールで使用されるアイコン イメージと同じ特性があります。この動作を正常に実行するには、最初にイメージ リストを作成し、初期化します。ヘッダー コントロールによってリストを関連付け、次にイメージを表示するヘッダー項目の属性を変更します。
次の手順では、ヘッダー コントロール (m_pHdrCtrl)へのポインターを使用してイメージ リスト (m_pHdrImages)に詳細を示します。
ヘッダー項目のイメージを表示する
結果のポインターを格納している CImageList のコンストラクターを使用して新しいイメージ リスト (または既存のイメージのリスト オブジェクトを使用)構築します。
CImageList::Createを呼び出して、新しいイメージ リスト オブジェクトを初期化します。次のコードは、この呼び出しの 1 例です。
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 × 16 ピクセルのイメージ)のイメージ リストが存在する可能性があります。