INITCOMMONCONTROLSEX 结构是在 Win32 API 的 Commctrl.h 头文件中定义的,用于指定需要加载的公共控件库的版本信息。以下是 INITCOMMONCONTROLSEX 结构的定义:
typedef struct tagINITCOMMONCONTROLSEX {
  DWORD dwSize;
  DWORD dwICC;
} INITCOMMONCONTROLSEX, *LPINITCOMMONCONTROLSEX;

结构成员包括:

1. dwSize: 结构的大小,以字节为单位。在使用结构之前,应将此成员设置为结构的大小。

2. dwICC: 一个标志掩码,指定要加载的公共控件库的版本。可以是以下常量之一或它们的组合:
   - ICC_LISTVIEW_CLASSES: 加载 ListView 类。
   - ICC_TREEVIEW_CLASSES: 加载 TreeView 类。
   - ICC_TAB_CLASSES: 加载 Tab 类。
   - ICC_UPDOWN_CLASS: 加载 Up-Down 类。
   - ICC_PROGRESS_CLASS: 加载 Progress 类。
   - ICC_HOTKEY_CLASS: 加载 HotKey 类。
   - ICC_ANIMATE_CLASS: 加载 Animate 类。
   - ICC_WIN95_CLASSES: 加载所有使用 Windows 95 外观的类。
   - ICC_DATE_CLASSES: 加载 Date/Time Picker 类。
   - ICC_USEREX_CLASSES: 加载用户定义的扩展类。

INITCOMMONCONTROLSEX 结构通常用于初始化通用控件库(Common Controls),使应用程序能够使用指定版本的公共控件。在调用 InitCommonControlsEx 函数时,可以使用这个结构来指定所需的控件库版本。

以下是一个示例用法:
INITCOMMONCONTROLSEX icc;
icc.dwSize = sizeof(INITCOMMONCONTROLSEX);
icc.dwICC = ICC_LISTVIEW_CLASSES | ICC_TREEVIEW_CLASSES;

InitCommonControlsEx(&icc);

这个示例初始化了通用控件库,以便应用程序可以使用 ListView 和 TreeView 控件。


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