在 MFC(Microsoft Foundation Classes)中,CImageList 类确实有 Draw 方法,用于在设备上下文(Device Context)中绘制图像列表的图像。
BOOL Draw(CDC* pDC, int nIndex, POINT pt, UINT nStyle);
BOOL Draw(CDC* pDC, int nIndex, POINT pt, UINT nStyle, COLORREF crEffect);

这个方法有两个重载形式:
  •  Draw(CDC* pDC, int nIndex, POINT pt, UINT nStyle):绘制图像列表的图像到指定的设备上下文,指定图像索引、位置和样式。

  •  Draw(CDC* pDC, int nIndex, POINT pt, UINT nStyle, COLORREF crEffect):在绘制的同时,可以指定颜色效果(crEffect)。


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

  •  nIndex:要绘制的图像在图像列表中的索引。

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

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

  •  crEffect:(仅对于第二个重载)颜色效果,用于改变图像的颜色。


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

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

// 假设 nIndex 是要绘制的图像的索引,pt 是图像在设备上下文中的位置
int nIndex = 0;
POINT pt = {10, 10};

// 绘制图像到设备上下文
myImageList.Draw(pDC, nIndex, pt, ILD_NORMAL);

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

上述示例中,Draw 方法被用于将图像列表中的指定图像绘制到设备上下文中。


转载请注明出处:http://www.zyzy.cn/article/detail/18290/MFC/CImageList