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 message retrieves the current left-to-right order of items in a header control.

Syntax

HDM_GETORDERARRAY 
wParam = (WPARAM) (int) 
iSize;

lParam = (LPARAM) 
lpiArray;

Parameters

iSize

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

lpiArray

Long pointer to the buffer that receives the index values for items in the header. The buffer must be large enough to hold the total number of header items * sizeof( int). The following code example shows how to reserve enough memory to hold the index values.

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

Return Value

Returns nonzero if successful, and the buffer at lpiArrayreceives the item number for each item in the header control, in the order in which they appear from left to right. Otherwise, the message returns zero.

Requirements

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

See Also