BOOL DrawIndirect(IMAGELISTDRAWPARAMS* pimldp);
参数 pimldp 是一个指向 IMAGELISTDRAWPARAMS 结构的指针,该结构定义了绘制图像的参数,包括图像列表、图像索引、设备上下文、位置等信息。
struct IMAGELISTDRAWPARAMS
{
DWORD cbSize;
HIMAGELIST himl;
int i;
HDC hdcDst;
int x;
int y;
int cx;
int cy;
int xBitmap; // x offset 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;
};
示例用法:
CImageList myImageList;
// 假设已经创建了图像列表并添加了一些图像
CDC* pDC = GetDC(); // 假设获取到了设备上下文
// 填充 IMAGELISTDRAWPARAMS 结构
IMAGELISTDRAWPARAMS imldp = {0};
imldp.cbSize = sizeof(IMAGELISTDRAWPARAMS);
imldp.himl = myImageList;
imldp.i = 0; // 要绘制的图像索引
imldp.hdcDst = pDC->GetSafeHdc();
imldp.x = 10;
imldp.y = 10;
imldp.cx = 16; // 图像的宽度
imldp.cy = 16; // 图像的高度
imldp.fStyle = ILD_NORMAL; // 图像绘制的样式
// 绘制图像到设备上下文
BOOL result = myImageList.DrawIndirect(&imldp);
ReleaseDC(pDC); // 释放设备上下文
if (result)
{
// 成功绘制图像
}
else
{
// 绘制失败
}
上述示例中,DrawIndirect 方法被用于将图像列表中的指定图像以更详细的选项绘制到设备上下文中。
转载请注明出处:http://www.zyzy.cn/article/detail/18292/MFC/CImageList