一、ICON文件构成
一个ICON文件,里面可能包含多个图标,而且是不同尺寸、不同色深的。
这样做的目的,是为了使得各个操作系统、不同显示方式下,均能呈现最佳效果,操作系统会从众多图标中选择一个最合适的呈现出来。
很多ICON都是用图片转ICO 这样的工具转换的,一眼看去是没问题的,但这样的简单转换出来的ICO文件,里面所包含的图标大部分尺寸和色深不足,很可能不能呈现最佳效果。
比如:如下示例ICON,里面其实是包含12个具体的图像
二、ICON 读取
1)结构体
typedef struct _MEM_ICONDIR
{
WORD idReserved; // Reserved
WORD idType; // resource type (1 for icons)
WORD idCount; // how many images?
MEMICONDIRENTRY idEntries[1]; // the entries for each image
} MEMICONDIR, *LPMEMICONDIR;
idCount表示ICON文件包含的具体的图标数量