Header_GetOrderArray 函数用于检索列表头控件(Header Control)中列的显示顺序数组。该函数允许你获取列的实际显示顺序,即用户通过拖放列头调整列的次序后的结果。

以下是 Header_GetOrderArray 函数的基本信息:
BOOL Header_GetOrderArray(
  HWND  hwnd,
  int   iCount,
  PINT  lpiArray
);

参数说明:
  •  hwnd: 列表头控件的句柄。

  •  iCount: 指定 lpiArray 缓冲区的大小,即能够存储的列数。

  •  lpiArray: 指向 int 数组的指针,用于接收列的显示顺序。


返回值:
  •  如果函数成功,返回 TRUE。

  •  如果函数失败,返回 FALSE。


使用示例:
#include <Commctrl.h>

// ...

HWND hwndHeader = // 获取列表头的句柄
int columnCount = // 获取列的总数

int *orderArray = (int*)malloc(sizeof(int) * columnCount);

BOOL bSuccess = Header_GetOrderArray(hwndHeader, columnCount, orderArray);

if (bSuccess) {
    // 获取显示顺序数组成功,可以使用 orderArray 中的数据
    wprintf(L"Column order: ");
    for (int i = 0; i < columnCount; ++i) {
        wprintf(L"%d ", orderArray[i]);
    }
    wprintf(L"\n");
    
    // 释放分配的内存
    free(orderArray);
} else {
    // 获取显示顺序数组失败
    free(orderArray);
}

这个函数允许你获取列的实际显示顺序,以便你可以了解用户在运行时如何调整列的次序。


转载请注明出处:http://www.zyzy.cn/article/detail/24660/Win32 API/Commctrl.h/Header_GetOrderArray