CImageList::Replace 是 MFC 中 CImageList 类的一个公共方法,用于替换图像列表中指定位置的图像。以下是该方法的签名:
BOOL Replace(int nImage, HBITMAP hbmImage, HBITMAP hbmMask);

这个方法接受三个参数:

  •  nImage:表示要替换的图像的索引。

  •  hbmImage:表示新图像的位图句柄。

  •  hbmMask:表示新图像的掩码位图句柄(如果有)。


方法返回一个 BOOL 值,表示操作是否成功。

使用示例:
CImageList myImageList;
// 在这里初始化并使用 myImageList,确保它已经包含图像

int imageIndexToReplace = 1;  // 要替换的图像的索引

HBITMAP hNewImage = ...;  // 获取新图像的位图句柄
HBITMAP hNewMask = ...;   // 获取新图像的掩码位图句柄(如果有)

BOOL bReplaceSuccess = myImageList.Replace(imageIndexToReplace, hNewImage, hNewMask);

if (bReplaceSuccess) {
    // 成功替换指定索引的图像
} else {
    // 替换失败,处理错误
}

这个方法对于在图像列表中更新图像非常有用,特别是当你需要动态更改图像时。请确保在调用 Replace 方法之前已经初始化了图像列表,并在替换前释放相应的资源。


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