ヘッダー コントロール
このセクションでは、ヘッダー コントロールで使用されるプログラミング要素について説明します。
概要
トピック | 内容 |
---|---|
ヘッダー コントロールについて | ヘッダー コントロールは、通常はテキストまたは数値の列の上に配置されるウィンドウです。 列ごとにタイトルが含まれており、コントロールを複数のパーツに分割することができます。 |
ヘッダー コントロールの使用 | このトピックには、ヘッダー コントロールの実装の詳細とコード例を掲載しています。 |
マクロ
トピック | 内容 |
---|---|
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 メッセージの形式で送信されます。 |
定数
トピック | 内容 |
---|---|
ヘッダー コントロール スタイル | このセクションで説明しているように、ヘッダー コントロールには、コントロールの外観と動作を決定するスタイルが多数用意されています。 初期スタイルは、ヘッダー コントロールを作成するときに設定します。 |