ヘッダー コントロールでのイメージ リストの使い方

ヘッダー項目にヘッダー項目内のイメージを表示する機能があります。関連付けられたイメージ リストに格納されているこのイメージは 16 × 16 ピクセルで、リスト ビュー コントロールで使用されるアイコン イメージと同じ特性があります。この動作を正常に実行するには、最初にイメージ リストを作成し、初期化します。ヘッダー コントロールによってリストを関連付け、次にイメージを表示するヘッダー項目の属性を変更します。

次の手順では、ヘッダー コントロール (m_pHdrCtrl)へのポインターを使用してイメージ リスト (m_pHdrImages)に詳細を示します。

ヘッダー項目のイメージを表示する

  1. 結果のポインターを格納している CImageList のコンストラクターを使用して新しいイメージ リスト (または既存のイメージのリスト オブジェクトを使用)構築します。

  2. CImageList::Createを呼び出して、新しいイメージ リスト オブジェクトを初期化します。次のコードは、この呼び出しの 1 例です。

    m_ListImageList.Create(16, 16, ILC_COLOR, 2, 2);
    
  3. 各ヘッダー項目のイメージを追加します。次のコードは、 2 種類の定義済みイメージを追加します。

    m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
    m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
    
  4. CHeaderCtrl::SetImageListに呼び出しを持つヘッダー コントロールによってイメージ リストを関連付けます。

  5. 関連付けられたイメージ リスト内のイメージを表示するには、ヘッダー項目を変更します。次の例では、最初のヘッダー項目に、最初のイメージを、 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 ピクセルのイメージ)のイメージ リストが存在する可能性があります。

参照

関連項目

CHeaderCtrl の使い方