HDITEM structure

Contains information about an item in a header control. This structure supersedes the HD_ITEM structure.

Syntax


typedef struct _HDITEM {
  UINT    mask;
  int     cxy;
  LPTSTR  pszText;
  HBITMAP hbm;
  int     cchTextMax;
  int     fmt;
  LPARAM  lParam;
#if (_WIN32_IE >= 0x0300)
  int     iImage;
  int     iOrder;
#endif 
#if (_WIN32_IE >= 0x0500)
  UINT    type;
  void    *pvFilter;
#endif 
#if (_WIN32_WINNT >= 0x0600)
  UINT    state;
#endif 
} HDITEM, *LPHDITEM;

Members

mask

Type: UINT

Flags indicating which other structure members contain valid data or must be filled in. This member can be a combination of the following values:

ValueMeaning
HDI_BITMAP

The hbm member is valid.

HDI_DI_SETITEM

While handling the message HDM_GETITEM, the header control may not have all the values needed to complete the request. In this case, the control must call the application back for the values via the HDN_GETDISPINFO notification. If HDI_DI_SETITEM has been passed in the HDM_GETITEM message, the control will cache any values returned from HDN_GETDISPINFO (otherwise the values remain unset.)

HDI_FORMAT

The fmt member is valid.

HDI_FILTER

The type and pvFilter members are valid. This is used to filter out the values specified in the type member.

HDI_HEIGHT

The same as HDI_WIDTH.

HDI_IMAGE

The iImage member is valid and specifies the image to be displayed with the item.

HDI_LPARAM

The lParam member is valid.

HDI_ORDER

The iOrder member is valid and specifies the item's order value.

HDI_STATE

Version 6.00 and later. The state member is valid.

HDI_TEXT

The pszText and cchTextMax members are valid.

HDI_WIDTH

The cxy member is valid and specifies the item's width.

 

cxy

Type: int

The width or height of the item.

pszText

Type: LPTSTR

A pointer to an item string. If the text is being retrieved from the control, this member must be initialized to point to a character buffer. If this member is set to LPSTR_TEXTCALLBACK, the control will request text information for this item by sending an HDN_GETDISPINFO notification code. Note that although the header control allows a string of any length to be stored as item text, only the first 260 TCHARs are displayed.

hbm

Type: HBITMAP

A handle to the item bitmap.

cchTextMax

Type: int

The length of the item string, in TCHARs. If the text is being retrieved from the control, this member must contain the number of TCHARs at the address specified by pszText.

fmt

Type: int

Flags that specify the item's format.

ValueMeaning
Text Justification:

Set one of the following flags to specify text justification:

HDF_CENTER

The item's contents are centered.

HDF_LEFT

The item's contents are left-aligned.

HDF_RIGHT

The item's contents are right-aligned.

Display:

Set one of the following flags to control the display:

HDF_BITMAP

The item displays a bitmap.

HDF_BITMAP_ON_RIGHT

The bitmap appears to the right of text.

HDF_OWNERDRAW

The header control's owner draws the item.

HDF_STRING

The item displays a string.

Combining Flags:

The preceding value can be combined with:

HDF_IMAGE

Display an image from an image list. Specify the image list by sending an HDM_SETIMAGELIST message. Specify the index of the image in the iImage member of this structure.

HDF_JUSTIFYMASK

Isolate the bits corresponding to the three justification flags listed in the preceding table.

HDF_RTLREADING

Typically, windows displays text left-to-right (LTR). Windows can be mirrored to display languages such as Hebrew or Arabic that read right-to-left (RTL). Usually, header text is read in the same direction as the text in its parent window. If HDF_RTLREADING is set, header text will read in the opposite direction from the text in the parent window.

HDF_SORTDOWN

Version 6.00 and later. Draws a down-arrow on this item. This is typically used to indicate that information in the current window is sorted on this column in descending order. This flag cannot be combined with HDF_IMAGE or HDF_BITMAP.

HDF_SORTUP

Version 6.00 and later. Draws an up-arrow on this item. This is typically used to indicate that information in the current window is sorted on this column in ascending order. This flag cannot be combined with HDF_IMAGE or HDF_BITMAP.

HDF_CHECKBOX

Version 6.00 and later. The item displays a checkbox. The flag is only valid when the HDS_CHECKBOXES style is first set on the header control.

HDF_CHECKED

Version 6.00 and later. The item displays a checked checkbox. The flag is only valid when HDF_CHECKBOX is also set.

HDF_FIXEDWIDTH

Version 6.00 and later. The width of the item cannot be modified by a user action to resize it.

HDF_SPLITBUTTON

Version 6.00 and later. The item displays a split button. The HDN_DROPDOWN notification is sent when the split button is clicked.

 

lParam

Type: LPARAM

Application-defined item data.

iImage

Type: int

The zero-based index of an image within the image list. The specified image will be displayed in the header item in addition to any image specified in the hbm field. If iImage is set to I_IMAGECALLBACK, the control requests text information for this item by using an HDN_GETDISPINFO notification code. To clear the image, set this value to I_IMAGENONE.

iOrder

Type: int

The order in which the item appears within the header control, from left to right. That is, the value for the far left item is 0. The value for the next item to the right is 1, and so on.

type

Type: UINT

The type of filter specified by pvFilter. The possible types include:

ValueMeaning
HDFT_ISSTRING

String data.

HDFT_ISNUMBER

Numerical data.

HDFT_HASNOVALUE

Ignore pvFilter.

HDFT_ISDATE

Version 6.00 and later. Date data. The pvFilter member is a pointer to a SYSTEMTIME structure.

 

pvFilter

Type: void*

The address of an application-defined data item. The data filter type is determined by setting the flag value of the member. Use the HDFT_ISSTRING flag to indicate a string and HDFT_ISNUMBER to indicate an integer. When the HDFT_ISSTRING flag is used pvFilter is a pointer to a HDTEXTFILTER structure.

state

Type: UINT

The state. The only valid, supported value for this member is the following:

ValueMeaning
HDIS_FOCUSED

The item has keyboard focus.

 

Remarks

Note  Comctl32.dll version 6 is not redistributable but it is included in Windows. To use Comctl32.dll version 6, specify it in a manifest. For more information on manifests, see Enabling Visual Styles.
 

Requirements

Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]

Header

Commctrl.h

Unicode and ANSI names

HDITEMW (Unicode) and HDITEMA (ANSI)

 

 

Show: