在 MFC(Microsoft Foundation Classes)中,CImageList 类确实有 DrawEx 方法,用于在设备上下文(Device Context)中绘制图像列表的图像,提供更多的绘制选项。
BOOL DrawEx(int nImage, CDC* pDC, POINT pt, SIZE sz, COLORREF rgbBk, COLORREF rgbFg, UINT nStyle);

参数说明:
  •  nImage:要绘制的图像在图像列表中的索引。

  •  pDC:指向设备上下文的指针,表示图像将被绘制到哪个设备上下文中。

  •  pt:图像在设备上下文中的位置。

  •  sz:图像的大小,指定图像在设备上下文中的宽度和高度。

  •  rgbBk:背景颜色,用于指定图像的背景颜色。

  •  rgbFg:前景颜色,用于指定图像的前景颜色。

  •  nStyle:图像绘制的样式,可以使用合适的标志位进行组合,例如 ILD_NORMAL、ILD_SELECTED 等。


返回一个布尔值,表示是否成功绘制了图像。

示例用法:
CImageList myImageList;
// 假设已经创建了图像列表并添加了一些图像

CDC* pDC = GetDC(); // 假设获取到了设备上下文

// 假设 nImage 是要绘制的图像的索引,pt 是图像在设备上下文中的位置
int nImage = 0;
POINT pt = {10, 10};
SIZE sz = {16, 16}; // 假设图像的大小为 16x16 像素
COLORREF rgbBk = RGB(255, 255, 255); // 背景颜色为白色
COLORREF rgbFg = RGB(0, 0, 0); // 前景颜色为黑色

// 绘制图像到设备上下文
BOOL result = myImageList.DrawEx(nImage, pDC, pt, sz, rgbBk, rgbFg, ILD_NORMAL);

ReleaseDC(pDC); // 释放设备上下文

if (result)
{
    // 成功绘制图像
}
else
{
    // 绘制失败
}

上述示例中,DrawEx 方法被用于将图像列表中的指定图像以更详细的选项绘制到设备上下文中。


转载请注明出处:http://www.pingtaimeng.com/article/detail/18291/MFC/CImageList