CImageList::Replace 是 MFC 中 CImageList 类的一个公共方法,用于替换图像列表中的指定图像。以下是该方法的简要说明:
BOOL Replace(
   int nIndex,
   HBITMAP hbmImage,
   HBITMAP hbmMask = NULL
);

参数说明:
  •  nIndex:要替换的图像在图像列表中的索引。

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

  •  hbmMask:可选参数,用于指定掩码位图的句柄。如果未提供,将使用默认掩码。


返回值:
  •  如果成功替换图像,则返回非零值;否则,返回零。


使用示例:
CImageList myImageList;
myImageList.Create(32, 32, ILC_COLOR32 | ILC_MASK, 0, 1);

// 添加一些图像到图像列表中...

// 假设要替换索引为2的图像
HBITMAP hNewImage = LoadBitmap(...);  // 加载新图像的位图
HBITMAP hNewMask = LoadBitmap(...);   // 加载新图像的掩码位图

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

// 检查替换是否成功
if (bReplaceSuccess) {
    // 替换成功的处理逻辑
} else {
    // 替换失败的处理逻辑
}

// 释放不再需要的位图资源
DeleteObject(hNewImage);
DeleteObject(hNewMask);

请注意,你需要确保提供的位图句柄是有效的,并在使用后适当地释放资源。


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