Important:
This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.
A version of this page is also available for
4/8/2010

This macro retrieves the current left-to-right order of items in a header control.

Syntax

#define Header_GetOrderArray(
hwnd, 
iCount, 
lpi) \
	 (BOOL)SNDMSG((
hwnd), HDM_GETORDERARRAY, (WPARAM)
iCount, (LPARAM)
lpi)

Parameters

hwnd

Handle to a header control.

iCount

Size of the buffer at lpi, in elements. This value must equal the value returned by HDM_GETITEMCOUNT.

lpi

Long pointer to a buffer that receives the index values of the items in the header. The buffer should be big enough to hold the total number of items * sizeof( int). For example, the following code fragment will reserve enough memory to hold the index values.

Return Value

Returns nonzero if successful, and the buffer at lpireceives the item number of each item in the header control, in the order in which they appear from left to right. The macro returns zero otherwise.

Remarks

Related message example.

Copy Code
int iItems;
int *lpiArray = NULL;
// Get the number of header items
iItems = Header_GetItemCount (hwndHD);
if (iItems > 0)
{
  // Get memory for buffer
  lpiArray = LocalAlloc(LMEM_FIXED, iItems*sizeof(int));
  if (lpiArray)
  {
	Header_GetOrderArray (hwndHD, iItems, lpiArray);
	// If succesful use the index values retrieved here
  }
  else
  {
	MessageBox(hwnd, L"Out of memory.","Error", MB_OK);
  }
}
if (lpiArray)
{
  LocalFree(lpiArray);
}

Requirements

Header commctrl.h
Windows Embedded CE Windows CE 2.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also