Header Control
This section contains information about the programming elements used with header controls.
Overviews
Topic | Contents |
---|---|
About Header Controls | A header control is a window that is usually positioned above columns of text or numbers. It contains a title for each column, and it can be divided into parts. |
Using Header Controls | This topic gives implementation details and code examples for header controls. |
Macros
Topic | Contents |
---|---|
Header_ClearAllFilters | Clears all of the filters for a given header control. You can use this macro or send the HDM_CLEARFILTER message explicitly. |
Header_ClearFilter | Clears the filter for a given header control. You can use this macro or send the HDM_CLEARFILTER message explicitly. |
Header_CreateDragImage | Creates a transparent version of an item image within an existing header control. You can use this macro or send the HDM_CREATEDRAGIMAGE message explicitly. |
Header_DeleteItem | Deletes an item from a header control. You can use this macro or send the HDM_DELETEITEM message explicitly. |
Header_EditFilter | Moves the input focus to the edit box when a filter button has the focus. |
Header_GetBitmapMargin | Gets the width of the margin (in pixels) of a bitmap in an existing header control. You can use this macro or send the HDM_GETBITMAPMARGIN message explicitly. |
Header_GetFocusedItem | Gets the item in a header control that has the focus. Use this macro or send the HDM_GETFOCUSEDITEM message explicitly. |
Header_GetImageList | Gets the handle to the image list that has been set for an existing header control. You can use this macro or send the HDM_GETIMAGELIST message explicitly. |
Header_GetItem | Gets information about an item in a header control. You can use this macro or send the HDM_GETITEM message explicitly. |
Header_GetItemCount | Gets a count of the items in a header control. You can use this macro or send the HDM_GETITEMCOUNT message explicitly. |
Header_GetItemDropDownRect | Gets the coordinates of the drop-down button for a specified item in a header control. The header control must be of type HDF_SPLITBUTTON. Use this macro or send the HDM_GETITEMDROPDOWNRECT message explicitly. |
Header_GetItemRect | Gets the bounding rectangle for a given item in a header control. You can use this macro or send the HDM_GETITEMRECT message explicitly. |
Header_GetOrderArray | Gets the current left-to-right order of items in a header control. You can use this macro or send the HDM_GETORDERARRAY message explicitly. |
Header_GetOverflowRect | Gets the coordinates of the drop-down overflow area for a specified header control. The header control must be of type HDF_SPLITBUTTON. Use this macro or send the HDM_GETOVERFLOWRECT message explicitly. |
Header_GetStateImageList | Gets the handle to the image list that has been set for an existing header control state. |
Header_GetUnicodeFormat | Gets the Unicode character format flag for the control. You can use this macro or send the HDM_GETUNICODEFORMAT message explicitly. |
Header_InsertItem | Inserts a new item into a header control. You can use this macro or send the HDM_INSERTITEM message explicitly. |
Header_Layout | Retrieves the correct size and position of a header control within the parent window. You can use this macro or send the HDM_LAYOUT message explicitly. |
Header_OrderToIndex | Retrieves an index value for an item based on its order in the header control. You can use this macro or send the HDM_ORDERTOINDEX message explicitly. |
Header_SetBitmapMargin | Sets the width of the margin for a bitmap in an existing header control. You can use this macro or send the HDM_SETBITMAPMARGIN message explicitly. |
Header_SetFilterChangeTimeout | Sets the timeout interval between the time a change takes place in the filter attributes and the posting of an HDN_FILTERCHANGE notification. You can use this macro or send the HDM_SETFILTERCHANGETIMEOUT message explicitly. |
Header_SetFocusedItem | Sets the focus to a specified item in a header control. Use this macro or send the HDM_SETFOCUSEDITEM message explicitly. |
Header_SetHotDivider | Changes the color of a divider between header items to indicate the destination of an external drag-and-drop operation. You can use this macro or send the HDM_SETHOTDIVIDER message explicitly. |
Header_SetImageList | Assigns an image list to an existing header control. You can use this macro or send the HDM_SETIMAGELIST message explicitly. |
Header_SetItem | Sets the attributes of the specified item in a header control. You can use this macro or send the HDM_SETITEM message explicitly. |
Header_SetOrderArray | Sets the left-to-right order of header items. You can use this macro or send the HDM_SETORDERARRAY message explicitly. |
Header_SetStateImageList | Assigns an image list to an existing header control state. |
Header_SetUnicodeFormat | Sets the UNICODE character format flag for the control. This message allows you to change the character set used by the control at run time rather than having to re-create the control. You can use this macro or send the HDM_SETUNICODEFORMAT message explicitly. |
Messages
Topic | Contents |
---|---|
HDM_CLEARFILTER | Clears the filter for a given header control. You can send this message explicitly or use the Header_ClearFilter macro. |
HDM_CREATEDRAGIMAGE | Creates a semi-transparent version of an item's image for use as a dragging image. You can send this message explicitly or use the Header_CreateDragImage macro. |
HDM_DELETEITEM | Deletes an item from a header control. You can send this message explicitly or use the Header_DeleteItem macro. |
HDM_EDITFILTER | Moves the input focus to the edit box when a filter button has the focus. |
HDM_GETBITMAPMARGIN | Gets the width of the bitmap margin for a header control. You can send this message explicitly or use the Header_GetBitmapMargin macro. |
HDM_GETFOCUSEDITEM | Gets the item in a header control that has the focus. Send this message explicitly or by using the Header_GetFocusedItem macro. A window receives this message through its WindowProc function. |
HDM_GETIMAGELIST | Gets the handle to the image list that has been set for an existing header control. You can send this message explicitly or use the Header_GetImageList or Header_GetStateImageList macro. |
HDM_GETITEM | Gets information about an item in a header control. You can send this message explicitly or use the Header_GetItem macro. |
HDM_GETITEMCOUNT | Gets a count of the items in a header control. You can send this message explicitly or use the Header_GetItemCount macro. |
HDM_GETITEMDROPDOWNRECT | Gets the bounding rectangle of the split button for a header item with style HDF_SPLITBUTTON. Send this message explicitly or by using theHeader_GetItemDropDownRectmacro. |
HDM_GETITEMRECT | Gets the bounding rectangle for a given item in a header control. You can send this message explicitly or use the Header_GetItemRect macro. |
HDM_GETORDERARRAY | Gets the current left-to-right order of items in a header control. You can send this message explicitly or use the Header_GetOrderArray macro. |
HDM_GETOVERFLOWRECT | Gets the bounding rectangle of the overflow button when the HDS_OVERFLOW style is set on the header control and the overflow button is visible. Send this message explicitly or by using theHeader_GetOverflowRectmacro. |
HDM_GETUNICODEFORMAT | Gets the Unicode character format flag for the control. You can send this message explicitly or use the Header_GetUnicodeFormat macro. |
HDM_HITTEST | Tests a point to determine which header item, if any, is at the specified point. |
HDM_INSERTITEM | Inserts a new item into a header control. You can send this message explicitly or use the Header_InsertItem macro. |
HDM_LAYOUT | Retrieves information used to set the size and position of the header control within the target rectangle of the parent window. You can send this message explicitly or use the Header_Layout macro. |
HDM_ORDERTOINDEX | Retrieves an index value for an item based on its order in the header control. You can send this message explicitly or use the Header_OrderToIndex macro. |
HDM_SETBITMAPMARGIN | Sets the width of the margin, specified in pixels, of a bitmap in an existing header control. You can send this message explicitly or use the Header_SetBitmapMargin macro. |
HDM_SETFILTERCHANGETIMEOUT | Sets the timeout interval between the time a change takes place in the filter attributes and the posting of an HDN_FILTERCHANGE notification. You can send this message explicitly or use the Header_SetFilterChangeTimeout macro. |
HDM_SETFOCUSEDITEM | Sets the focus to a specified item in a header control. Send this message explicitly or by using the Header_SetFocusedItem macro. |
HDM_SETHOTDIVIDER | Changes the color of a divider between header items to indicate the destination of an external drag-and-drop operation. You can send this message explicitly or use the Header_SetHotDivider macro. |
HDM_SETIMAGELIST | Assigns an image list to an existing header control. You can send this message explicitly or use the Header_SetImageList or Header_SetStateImageList macro. |
HDM_SETITEM | Sets the attributes of the specified item in a header control. You can send this message explicitly or use the Header_SetItem macro. |
HDM_SETORDERARRAY | Sets the left-to-right order of header items. You can send this message explicitly or use the Header_SetOrderArray macro. |
HDM_SETUNICODEFORMAT | Sets the UNICODE character format flag for the control. This message allows you to change the character set used by the control at run time rather than having to re-create the control. You can send this message explicitly or use the Header_SetUnicodeFormat macro. |
HDM_TRANSLATEACCELERATOR | Not implemented. |
Notifications
Topic | Contents |
---|---|
HDN_BEGINDRAG | Sent by a header control when a drag operation has begun on one of its items. This notification code is sent only by header controls that are set to the HDS_DRAGDROP style. This notification code is sent in the form of a WM_NOTIFY message. |
HDN_BEGINFILTEREDIT | Notifies a header control's parent window that a filter edit has begun. This notification code is sent in the form of a WM_NOTIFY message. |
HDN_BEGINTRACK | Notifies a header control's parent window that the user has begun dragging a divider in the control (that is, the user has pressed the left mouse button while the mouse cursor is on a divider in the header control). This notification code is sent in the form of a WM_NOTIFY message. |
HDN_DIVIDERDBLCLICK | Notifies a header control's parent window that the user double-clicked the divider area of the control. This notification code is sent in the form of a WM_NOTIFY message. |
HDN_DROPDOWN | Sent by a header control to its parent when the drop-down arrow on the header control is clicked. This notification code is sent in the form of a WM_NOTIFY message. |
HDN_ENDDRAG | Sent by a header control when a drag operation has ended on one of its items. This notification code is sent as a WM_NOTIFY message. Only header controls that are set to the HDS_DRAGDROP style send this notification. |
HDN_ENDFILTEREDIT | Notifies a header control's parent window that a filter edit has ended. This notification code is sent in the form of a WM_NOTIFY message. |
HDN_ENDTRACK | Notifies a header control's parent window that the user has finished dragging a divider. This notification code sent in the form of a WM_NOTIFY message. |
HDN_FILTERBTNCLICK | Notifies the header control's parent window when the filter button is clicked or in response to an HDM_SETITEM message. |
HDN_FILTERCHANGE | Notifies the header control's parent window that the attributes of a header control filter are being changed or edited. |
HDN_GETDISPINFO | Sent to the owner of a header control when the control needs information about a callback header item. This notification code is sent as a WM_NOTIFY message. |
HDN_ITEMCHANGED | Notifies a header control's parent window that the attributes of a header item have changed. This notification code is sent in the form of a WM_NOTIFY message. |
HDN_ITEMCHANGING | Notifies a header control's parent window that the attributes of a header item are about to change. This notification code is sent in the form of a WM_NOTIFY message. |
HDN_ITEMCLICK | Notifies a header control's parent window that the user clicked the control. This notification code is sent in the form of a WM_NOTIFY message. |
HDN_ITEMDBLCLICK | Notifies a header control's parent window that the user double-clicked the control. This notification code is sent in the form of a WM_NOTIFY message. Only header controls that are set to the HDS_BUTTONS style send this notification. |
HDN_ITEMKEYDOWN | Notifies a header control's parent window that a key has been pressed with an item selected. This notification code is sent in the form of a WM_NOTIFY message. |
HDN_ITEMSTATEICONCLICK | Notifies a header control's parent window that the user clicked an item's state icon. |
HDN_OVERFLOWCLICK | Sent by a header control to its parent when the header's overflow button is clicked. This notification code is sent in the form of an WM_NOTIFY message. |
HDN_TRACK | Notifies a header control's parent window that the user is dragging a divider in the header control. This notification code is sent in the form of a WM_NOTIFY message. |
NM_CUSTOMDRAW (header) | Sent by a header control to notify its parent window about drawing operations. This notification code is sent in the form of a WM_NOTIFY message. |
NM_RCLICK (header) | Notifies a tree-view control's parent window that the user has clicked the right mouse button within the control. This notification code is sent in the form of a WM_NOTIFY message. |
NM_RELEASEDCAPTURE (header) | Notifies a header control's parent window that the control is releasing mouse capture. This notification code is sent in the form of a WM_NOTIFY message. |
Constants
Topic | Contents |
---|---|
Header Control Styles | Header controls have a number of styles, described in this section, that determine the control's appearance and behavior. You set the initial styles when you create the header control. |