如何使用图像列表控件的图像覆盖
1个回答
推荐于2016-07-22 · 知道合伙人数码行家
huanglenzhi
知道合伙人数码行家
向TA提问 私信TA
知道合伙人数码行家
采纳数:117538
获赞数:517184
长期从事计算机组装,维护,网络组建及管理。对计算机硬件、操作系统安装、典型网络设备具有详细认知。
向TA提问 私信TA
关注
展开全部
若要覆盖正确使用图像的图像列表,请按照下列步骤操作:
创建包含您想要绘制这些图像上叠加图像以及绘制的图像的位图。
例如,假设您有四个 16x16 图像的位图:
绿色圆
一个红色的圆圈
panda
蛙
创建出您已经通过使用 ImageList_LoadImage(),如下所示在步骤 1 中创建的位图图像列表:
hImageList = ImageList_LoadImage (hInst,
"MyBitmap",
16,
4,
RGB (255,0,0),
IMAGE_BITMAP,
0);
决定您想要指定为覆盖屏蔽的图像并使用 ImageList_SetOverlayImage() 函数来标记它们这种情况。下面的代码指定 panda 和蛙 (从 0 开始的索引,这伴随图像,2 和 3) 作为覆盖 1 和 2 的掩码。
注意: 您可以只指定每个图像列表最多四个覆盖屏蔽。
ImageList_SetOverlayImage (hImageList,
2, // 0-based index to image list.
1); // 1-based index to overlay mask.
ImageList_SetOverlayImage (hImageList,
3, // 0-based index to image list.
2); // 1-based index to overlay mask.
绘制图像。下面的代码将绘制绿色的圆圈 (或中的示例图像列表的图像 0)。然后,它绘制在它的上面 panda (覆盖图像 1 中的示例)。
ImageList_Draw (hImageList,
0, // 0-based index to imageList of image to draw.
hDC, // handle to a DC.
16, 16 // (x,y) location to draw.
INDEXTOOVERLAYMASK (1)); // Overlay image #1.
创建包含您想要绘制这些图像上叠加图像以及绘制的图像的位图。
例如,假设您有四个 16x16 图像的位图:
绿色圆
一个红色的圆圈
panda
蛙
创建出您已经通过使用 ImageList_LoadImage(),如下所示在步骤 1 中创建的位图图像列表:
hImageList = ImageList_LoadImage (hInst,
"MyBitmap",
16,
4,
RGB (255,0,0),
IMAGE_BITMAP,
0);
决定您想要指定为覆盖屏蔽的图像并使用 ImageList_SetOverlayImage() 函数来标记它们这种情况。下面的代码指定 panda 和蛙 (从 0 开始的索引,这伴随图像,2 和 3) 作为覆盖 1 和 2 的掩码。
注意: 您可以只指定每个图像列表最多四个覆盖屏蔽。
ImageList_SetOverlayImage (hImageList,
2, // 0-based index to image list.
1); // 1-based index to overlay mask.
ImageList_SetOverlayImage (hImageList,
3, // 0-based index to image list.
2); // 1-based index to overlay mask.
绘制图像。下面的代码将绘制绿色的圆圈 (或中的示例图像列表的图像 0)。然后,它绘制在它的上面 panda (覆盖图像 1 中的示例)。
ImageList_Draw (hImageList,
0, // 0-based index to imageList of image to draw.
hDC, // handle to a DC.
16, 16 // (x,y) location to draw.
INDEXTOOVERLAYMASK (1)); // Overlay image #1.
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询