HDM_GETORDERARRAY (Compact 2013)

3/28/2014

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.

    Important

    For readability, the following code example does not contain security checking or error handling. Do not use the following code in a production environment.

    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 lpiArray receives 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

See Also

Reference

Header Controls Messages
Header_GetOrderArray
HDM_GETITEMCOUNT