ヘッダー コントロール

このセクションでは、ヘッダー コントロールで使用されるプログラミング要素について説明します。

概要

トピック 内容
ヘッダー コントロールについて ヘッダー コントロールは、通常はテキストまたは数値の列の上に配置されるウィンドウです。 列ごとにタイトルが含まれており、コントロールを複数のパーツに分割することができます。
ヘッダー コントロールの使用 このトピックには、ヘッダー コントロールの実装の詳細とコード例を掲載しています。

マクロ

トピック 内容
Header_ClearAllFilters 指定されたヘッダー コントロールのすべてのフィルターをクリアします。 このマクロを使用するか、HDM_CLEARFILTER メッセージを明示的に送信します。
Header_ClearFilter 指定されたヘッダー コントロールのフィルターをクリアします。 このマクロを使用するか、HDM_CLEARFILTER メッセージを明示的に送信します。
Header_CreateDragImage 既存のヘッダー コントロール内の項目画像の透過バージョンを作成します。 このマクロを使用するか、HDM_CREATEDRAGIMAGE メッセージを明示的に送信します。
Header_DeleteItem ヘッダー コントロールから項目を削除します。 このマクロを使用するか、HDM_DELETEITEM メッセージを明示的に送信します。
Header_EditFilter フィルター ボタンにフォーカスがあるときに、入力フォーカスを編集ボックスに移動します。
Header_GetBitmapMargin 既存のヘッダー コントロール内のビットマップについて、余白の幅 (ピクセル単位) を取得します。 このマクロを使用するか、HDM_GETBITMAPMARGIN メッセージを明示的に送信します。
Header_GetFocusedItem ヘッダー コントロール内のフォーカスがある項目を取得します。 このマクロを使用するか、HDM_GETFOCUSEDITEM メッセージを明示的に送信します。
Header_GetImageList 既存のヘッダー コントロールに設定されているイメージ リストへのハンドルを取得します。 このマクロを使用するか、HDM_GETIMAGELIST メッセージを明示的に送信します。
Header_GetItem ヘッダー コントロール内の項目に関する情報を取得します。 このマクロを使用するか、HDM_GETITEM メッセージを明示的に送信します。
Header_GetItemCount ヘッダー コントロール内の項目の数を取得します。 このマクロを使用するか、HDM_GETITEMCOUNT メッセージを明示的に送信します。
Header_GetItemDropDownRect ヘッダー コントロール内の指定された項目について、ドロップダウン ボタンの座標を取得します。 ヘッダー コントロールの種類が HDF_SPLITBUTTON である必要があります。 このマクロを使用するか、HDM_GETITEMDROPDOWNRECT メッセージを明示的に送信します。
Header_GetItemRect ヘッダー コントロール内の指定された項目の四角形領域を取得します。 このマクロを使用するか、HDM_GETITEMRECT メッセージを明示的に送信します。
Header_GetOrderArray ヘッダー コントロール内の項目について、現在の左から右の順序を取得します。 このマクロを使用するか、HDM_GETORDERARRAY メッセージを明示的に送信します。
Header_GetOverflowRect 指定されたヘッダー コントロールのドロップダウン オーバーフロー領域の座標を取得します。 ヘッダー コントロールの種類が HDF_SPLITBUTTON である必要があります。 このマクロを使用するか、HDM_GETOVERFLOWRECT メッセージを明示的に送信します。
Header_GetStateImageList 既存のヘッダー コントロールの状態に対して設定されている画像リストのハンドルを取得します。
Header_GetUnicodeFormat コントロールの Unicode 文字形式フラグを取得します。 このマクロを使用するか、HDM_GETUNICODEFORMAT メッセージを明示的に送信します。
Header_InsertItem ヘッダー コントロールに新しい項目を挿入します。 このマクロを使用するか、HDM_INSERTITEM メッセージを明示的に送信します。
Header_Layout 親ウィンドウ内でのヘッダー コントロールの正しいサイズと位置を取得します。 このマクロを使用するか、HDM_LAYOUT メッセージを明示的に送信します。
Header_OrderToIndex ヘッダー コントロール内での順序に基づいて、項目のインデックス値を取得します。 このマクロを使用するか、HDM_ORDERTOINDEX メッセージを明示的に送信します。
Header_SetBitmapMargin 既存のヘッダー コントロール内のビットマップについて、余白の幅を設定します。 このマクロを使用するか、HDM_SETBITMAPMARGIN メッセージを明示的に送信します。
Header_SetFilterChangeTimeout フィルター属性で変更が行われてから HDN_FILTERCHANGE 通知がポストされるまでの、タイムアウト間隔を設定します。 このマクロを使用するか、HDM_SETFILTERCHANGETIMEOUT メッセージを明示的に送信します。
Header_SetFocusedItem ヘッダー コントロール内の指定された項目にフォーカスを設定します。 このマクロを使用するか、HDM_SETFOCUSEDITEM メッセージを明示的に送信します。
Header_SetHotDivider ヘッダー項目間の分割バーの色を変更して、外部のドラッグ アンド ドロップ操作の移動先を示します。 このマクロを使用するか、HDM_SETHOTDIVIDER メッセージを明示的に送信します。
Header_SetImageList 画像リストを既存のヘッダー コントロールに割り当てます。 このマクロを使用するか、HDM_SETIMAGELIST メッセージを明示的に送信します。
Header_SetItem ヘッダー コントロール内の指定された項目の属性を設定します。 このマクロを使用するか、HDM_SETITEM メッセージを明示的に送信します。
Header_SetOrderArray ヘッダー項目の左から右の順序を設定します。 このマクロを使用するか、HDM_SETORDERARRAY メッセージを明示的に送信します。
Header_SetStateImageList 既存のヘッダー コントロールの状態に画像リストを割り当てます。
Header_SetUnicodeFormat コントロールの UNICODE 文字形式フラグを設定します。 このメッセージを使用すると、コントロールを再作成する必要なく、コントロールで使用される文字セットを実行時に変更できます。 このマクロを使用するか、HDM_SETUNICODEFORMAT メッセージを明示的に送信します。

[メッセージ]

トピック 内容
HDM_CLEARFILTER 指定されたヘッダー コントロールのフィルターをクリアします。 このメッセージを明示的に送信するか、Header_ClearFilter マクロを使用します。
HDM_CREATEDRAGIMAGE ドラッグ画像として使用する項目画像の半透明バージョンを作成します。 このメッセージを明示的に送信するか、Header_CreateDragImage マクロを使用します。
HDM_DELETEITEM ヘッダー コントロールから項目を削除します。 このメッセージを明示的に送信するか、Header_DeleteItem マクロを使用します。
HDM_EDITFILTER フィルター ボタンにフォーカスがあるときに、入力フォーカスを編集ボックスに移動します。
HDM_GETBITMAPMARGIN ヘッダー コントロールのビットマップの余白の幅を取得します。 このメッセージを明示的に送信するか、Header_GetBitmapMargin マクロを使用します。
HDM_GETFOCUSEDITEM ヘッダー コントロール内のフォーカスがある項目を取得します。 このメッセージを明示的に送信するか、Header_GetFocusedItem マクロを使用します。 ウィンドウは、WindowProc 関数を介してこのメッセージを受け取ります。
HDM_GETIMAGELIST 既存のヘッダー コントロールに設定されているイメージ リストへのハンドルを取得します。 このメッセージを明示的に送信することも、Header_GetImageList または Header_GetStateImageList のマクロを使用することもできます。
HDM_GETITEM ヘッダー コントロール内の項目に関する情報を取得します。 このメッセージを明示的に送信するか、Header_GetItem マクロを使用します。
HDM_GETITEMCOUNT ヘッダー コントロール内の項目の数を取得します。 このメッセージを明示的に送信するか、Header_GetItemCount マクロを使用します。
HDM_GETITEMDROPDOWNRECT HDF_SPLITBUTTON スタイルが設定されたヘッダー項目について、分割ボタンの四角形領域を取得します。 このメッセージを明示的に送信するか、Header_GetItemDropDownRect マクロを使用します。
HDM_GETITEMRECT ヘッダー コントロール内の指定された項目の四角形領域を取得します。 このメッセージを明示的に送信するか、Header_GetItemRect マクロを使用します。
HDM_GETORDERARRAY ヘッダー コントロール内の項目について、現在の左から右の順序を取得します。 このメッセージを明示的に送信するか、Header_GetOrderArray マクロを使用します。
HDM_GETOVERFLOWRECT ヘッダー コントロールでHDS_OVERFLOW スタイルが設定されており、オーバーフロー ボタンが表示されている場合に、オーバーフロー ボタンの四角形領域を取得します。 このメッセージを明示的に送信するか、Header_GetOverflowRect マクロを使用します。
HDM_GETUNICODEFORMAT コントロールの Unicode 文字形式フラグを取得します。 このメッセージを明示的に送信するか、Header_GetUnicodeFormat マクロを使用します。
HDM_HITTEST ポイントをテストして、指定されたポイントにどのヘッダー項目があるか (存在する場合) を判別します。
HDM_INSERTITEM ヘッダー コントロールに新しい項目を挿入します。 このメッセージを明示的に送信するか、Header_InsertItem マクロを使用します。
HDM_LAYOUT 親ウィンドウのターゲットの四角形内で、ヘッダー コントロールのサイズと位置を設定するために使用される情報を取得します。 このメッセージを明示的に送信するか、Header_Layout マクロを使用します。
HDM_ORDERTOINDEX ヘッダー コントロール内での順序に基づいて、項目のインデックス値を取得します。 このメッセージを明示的に送信するか、Header_OrderToIndex マクロを使用します。
HDM_SETBITMAPMARGIN 既存のヘッダー コントロール内のビットマップについて、(ピクセル単位で指定した) 余白の幅を設定します。 このメッセージを明示的に送信するか、Header_SetBitmapMargin マクロを使用します。
HDM_SETFILTERCHANGETIMEOUT フィルター属性で変更が行われてから HDN_FILTERCHANGE 通知がポストされるまでの、タイムアウト間隔を設定します。 このメッセージを明示的に送信するか、Header_SetFilterChangeTimeout マクロを使用します。
HDM_SETFOCUSEDITEM ヘッダー コントロール内の指定された項目にフォーカスを設定します。 このメッセージを明示的に送信するか、Header_SetFocusedItem マクロを使用します。
HDM_SETHOTDIVIDER ヘッダー項目間の分割バーの色を変更して、外部のドラッグ アンド ドロップ操作の移動先を示します。 このメッセージを明示的に送信するか、Header_SetHotDivider マクロを使用します。
HDM_SETIMAGELIST 画像リストを既存のヘッダー コントロールに割り当てます。 このメッセージを明示的に送信するか、Header_SetImageList または Header_SetStateImageList のマクロを使うことができます。
HDM_SETITEM ヘッダー コントロール内の指定された項目の属性を設定します。 このメッセージを明示的に送信するか、Header_SetItem マクロを使用します。
HDM_SETORDERARRAY ヘッダー項目の左から右の順序を設定します。 このメッセージを明示的に送信するか、Header_SetOrderArray マクロを使用します。
HDM_SETUNICODEFORMAT コントロールの UNICODE 文字形式フラグを設定します。 このメッセージを使用すると、コントロールを再作成する必要なく、コントロールで使用される文字セットを実行時に変更できます。 このメッセージを明示的に送信するか、Header_SetUnicodeFormat マクロを使用します。
HDM_TRANSLATEACCELERATOR 実装されていません。

通知

トピック 内容
HDN_BEGINDRAG いずれかの項目でドラッグ操作が開始されたときに、ヘッダー コントロールによって送信されます。 この通知コードは、HDS_DRAGDROP スタイルが設定されているヘッダー コントロールでのみ送信されます。 この通知コードは、WM_NOTIFY メッセージの形式で送信されます。
HDN_BEGINFILTEREDIT フィルターの編集が開始されたことを、ヘッダー コントロールの親ウィンドウに通知します。 この通知コードは、WM_NOTIFY メッセージの形式で送信されます。
HDN_BEGINTRACK ヘッダー コントロールの親ウィンドウに、ユーザーがコントロール内で分割バーのドラッグを開始したことを通知します (つまり、ユーザーがマウスの左ボタンを押しながら、マウス カーソルをヘッダー コントロール内の分割バー上に置いている状態)。 この通知コードは、WM_NOTIFY メッセージの形式で送信されます。
HDN_DIVIDERDBLCLICK ユーザーがコントロールの分割バー領域をダブルクリックしたことを、ヘッダー コントロールの親ウィンドウに通知します。 この通知コードは、WM_NOTIFY メッセージの形式で送信されます。
HDN_DROPDOWN ヘッダー コントロールのドロップダウン矢印がクリックされたときに、ヘッダー コントロールから親に送信されます。 この通知コードは、WM_NOTIFY メッセージの形式で送信されます。
HDN_ENDDRAG いずれかの項目でドラッグ操作が終了したときに、ヘッダー コントロールによって送信されます。 この通知コードは、WM_NOTIFY メッセージとして送信されます。 この通知コードは、HDS_DRAGDROP スタイルが設定されているヘッダー コントロールでのみ送信されます。
HDN_ENDFILTEREDIT フィルターの編集が終了したことを、ヘッダー コントロールの親ウィンドウに通知します。 この通知コードは、WM_NOTIFY メッセージの形式で送信されます。
HDN_ENDTRACK ユーザーが分割バーのドラッグを完了したことを、ヘッダー コントロールの親ウィンドウに通知します。 この通知コードは、WM_NOTIFY メッセージの形式で送信されます。
HDN_FILTERBTNCLICK フィルター ボタンがクリックされたとき、または HDM_SETITEM メッセージに応答して、ヘッダー コントロールの親ウィンドウに通知します。
HDN_FILTERCHANGE ヘッダー コントロールのフィルターの属性が変更または編集されようとしていることを、ヘッダー コントロールの親ウィンドウに通知します。
HDN_GETDISPINFO コールバック ヘッダー項目に関する情報をコントロールが必要としている場合に、ヘッダー コントロールの所有者に送信されます。 この通知コードは、WM_NOTIFY メッセージとして送信されます。
HDN_ITEMCHANGED ヘッダー項目の属性が変更されたことを、ヘッダー コントロールの親ウィンドウに通知します。 この通知コードは、WM_NOTIFY メッセージの形式で送信されます。
HDN_ITEMCHANGING ヘッダー項目の属性が変更されようとしていることを、ヘッダー コントロールの親ウィンドウに通知します。 この通知コードは、WM_NOTIFY メッセージの形式で送信されます。
HDN_ITEMCLICK ユーザーがコントロールをクリックしたことを、ヘッダー コントロールの親ウィンドウに通知します。 この通知コードは、WM_NOTIFY メッセージの形式で送信されます。
HDN_ITEMDBLCLICK ユーザーがコントロールをダブルクリックしたことを、ヘッダー コントロールの親ウィンドウに通知します。 この通知コードは、WM_NOTIFY メッセージの形式で送信されます。 この通知コードは、HDS_BUTTONS スタイルが設定されているヘッダー コントロールでのみ送信されます。
HDN_ITEMKEYDOWN 項目が選択された状態でキーが押されたことを、ヘッダー コントロールの親ウィンドウに通知します。 この通知コードは、WM_NOTIFY メッセージの形式で送信されます。
HDN_ITEMSTATEICONCLICK ユーザーが項目の状態アイコンをクリックしたことを、ヘッダー コントロールの親ウィンドウに通知します。
HDN_OVERFLOWCLICK ヘッダーのオーバーフロー ボタンがクリックされたときに、ヘッダー コントロールから親に送信されます。 この通知コードは、WM_NOTIFY メッセージの形式で送信されます。
HDN_TRACK ユーザーがヘッダー コントロール内の分割バーをドラッグしていることを、ヘッダー コントロールの親ウィンドウに通知します。 この通知コードは、WM_NOTIFY メッセージの形式で送信されます。
NM_CUSTOMDRAW (ヘッダー) 描画操作について親ウィンドウに通知するために、ヘッダー コントロールによって送信されます。 この通知コードは、WM_NOTIFY メッセージの形式で送信されます。
NM_RCLICK (ヘッダー) ユーザーがコントロール内でマウスの右ボタンをクリックしたことを、ツリー ビュー コントロールの親ウィンドウに通知します。 この通知コードは、WM_NOTIFY メッセージの形式で送信されます。
NM_RELEASEDCAPTURE (ヘッダー) コントロールがマウス キャプチャを解放しようとしていることを、ヘッダー コントロールの親ウィンドウに通知します。 この通知コードは、WM_NOTIFY メッセージの形式で送信されます。

定数

トピック 内容
ヘッダー コントロール スタイル このセクションで説明しているように、ヘッダー コントロールには、コントロールの外観と動作を決定するスタイルが多数用意されています。 初期スタイルは、ヘッダー コントロールを作成するときに設定します。