在 Win32 API 的 Commctrl.h 头文件中,BUTTON_SPLITINFO 结构是用于扩展按钮控件(Button Control)的功能的一个结构体。它通常与 BCM_SETSPLITINFO 和 BCM_GETSPLITINFO 消息一起使用,用于定义和获取分割按钮(split button)的相关信息。

以下是 BUTTON_SPLITINFO 结构的定义:
typedef struct {
  UINT       mask;
  HIMAGELIST himlGlyph;
  UINT       uSplitStyle;
  SIZE       size;
} BUTTON_SPLITINFO, *PBUTTON_SPLITINFO;

这个结构包含以下成员:

1. mask: UINT 类型的标志,指定哪些成员包含有效的数据。可以使用以下常量进行按位或操作,以指定要设置或获取的信息:
   - BSSI_MASK: 表示 himlGlyph 和 uSplitStyle 成员有效。
   - BSSI_IMAGE: 表示 himlGlyph 成员有效。
   - BSSI_STYLE: 表示 uSplitStyle 成员有效。

2. himlGlyph: HIMAGELIST 类型的成员,表示与按钮关联的图像列表的句柄。这个图像列表用于在按钮的右侧显示一个小图标,通常用于指示按钮的附加功能。

3. uSplitStyle: UINT 类型的成员,表示分割按钮的样式。可以是以下常量之一:
   - BCSIF_GLYPH: 表示 himlGlyph 成员包含有效数据。
   - BCSIF_IMAGE: 表示 himlGlyph 成员包含有效数据。
   - BCSIF_STYLE: 表示 uSplitStyle 成员包含有效数据。

4. size: SIZE 结构,表示按钮控件右侧图标的尺寸。

这个结构主要用于设置和获取分割按钮的信息,以便在按钮的右侧显示一个小图标,以增强按钮的功能。通过使用 BCM_SETSPLITINFO 和 BCM_GETSPLITINFO 消息,可以在运行时动态地配置和获取按钮的分割信息。


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