REBARBANDINFOW 结构体用于描述和设置 ReBar 控件中的带(band)的信息,其中的 "W" 表示它是宽字符集(Unicode)版本。以下是 REBARBANDINFOW 结构体的定义:
typedef struct tagREBARBANDINFOW {
    UINT cbSize;
    UINT fMask;
    UINT fStyle;
    COLORREF clrFore;
    COLORREF clrBack;
    LPWSTR  lpText;
    UINT    cch;
    int     iImage;
    HWND    hwndChild;
    UINT    cxMinChild;
    UINT    cyMinChild;
    UINT    cx;
    HBITMAP hbmBack;
    UINT    wID;
    UINT    cyChild;
    UINT    cyMaxChild;
    UINT    cyIntegral;
    UINT    cxIdeal;
    LPARAM  lParam;
    UINT    cxHeader;
} REBARBANDINFOW, *LPREBARBANDINFOW;

这个结构体的字段与之前提到的 REBARBANDINFOA 类似,主要用于配置和获取 ReBar 控件中带的各种属性。以下是一些字段的解释:

  •  cbSize: 结构体的大小,以字节为单位,必须设置为 sizeof(REBARBANDINFOW)。


  •  fMask: 一个标志位,用于指定在结构体中哪些字段包含有效数据。可以是一组 RBBIM_* 常量的组合。


  •  fStyle: 指定带的样式,可以是 RBBS_* 常量的组合。


  •  clrFore 和 clrBack: 分别指定前景和背景颜色。


  •  lpText 和 cch: 指定带的文本和文本的长度。


  •  iImage: 指定带的图像索引。


  •  hwndChild: 指定带中的子窗口句柄。


  •  cxMinChild、cyMinChild、cx 和 cyChild: 指定带的最小和当前尺寸。


  •  hbmBack: 指定带的背景图像。


  •  wID: 指定带的标识符。


  •  cyMaxChild: 指定带的子窗口的最大高度。


  •  cyIntegral: 指定带的高度的整数倍数。


  •  cxIdeal: 指定带的理想宽度。


  •  lParam: 指定用户自定义数据。


  •  cxHeader: 指定带的头部宽度。


这个结构体与 REBARBANDINFOA 的主要区别在于字符集,REBARBANDINFOW 使用宽字符集(Unicode)。选择使用哪个版本的结构体取决于你的应用程序是使用 ANSI 字符集还是 Unicode 字符集。


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