IMAGELISTDRAWPARAMS 结构是在 Win32 API 的 Commctrl.h 头文件中定义的,用于指定图像列表中图像的绘制参数。以下是 IMAGELISTDRAWPARAMS 结构的定义:
typedef struct _IMAGELISTDRAWPARAMS {
  DWORD       cbSize;
  HIMAGELIST  himl;
  int         i;
  HDC         hdcDst;
  int         x;
  int         y;
  int         cx;
  int         cy;
  int         xBitmap;        // x offest from the upperleft of bitmap
  int         yBitmap;        // y offset from the upperleft of bitmap
  COLORREF    rgbBk;
  COLORREF    rgbFg;
  UINT        fStyle;
  DWORD       dwRop;
  DWORD       fState;
  DWORD       Frame;
  COLORREF    crEffect;
} IMAGELISTDRAWPARAMS, *LPIMAGELISTDRAWPARAMS;

结构成员包括:

1. cbSize: 结构的大小,以字节为单位,用于指定结构的版本。

2. himl: HIMAGELIST 类型的图像列表句柄。

3. i: 图像列表中要绘制的图像的索引。

4. hdcDst: 目标设备上下文的句柄,用于指定图像将要被绘制到的设备上下文。

5. x, y: 目标设备上下文中绘制的位置。

6. cx, cy: 绘制的图像的大小。

7. xBitmap, yBitmap: 图像相对于其实际大小的偏移。

8. rgbBk: 背景颜色。

9. rgbFg: 前景颜色。

10. fStyle: 绘制风格,可以是以下常量之一或它们的组合:
    - ILD_BLEND25: 使用 AlphaBlend 进行混合。
    - ILD_FOCUS: 绘制具有焦点的图像。
    - ILD_BLEND50: 使用 AlphaBlend 进行中度混合。

11. dwRop: 光栅操作代码。

12. fState: 图像的状态,可以是以下常量之一或它们的组合:
    - ILS_NORMAL: 正常状态。
    - ILS_GLOW: 使用光晕效果。
    - ILS_SHADOW: 使用阴影效果。

13. Frame: 边框宽度。

14. crEffect: 图像效果的颜色。

IMAGELISTDRAWPARAMS 结构通常用于 ImageList_DrawIndirect 函数,以指定图像列表中图像的绘制参数。这样的函数允许更灵活地控制图像的绘制,包括位置、大小、风格等。


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