256x256图标再次出现问题,或者如何通过IImageList获取TRUE图标大小

时间:2009-11-24 01:56:43

标签: c++ windows-7 windows-vista icons

我通过调用SHGetImageList来获取系统图像列表:

SHGetImageList(SHIL_LAST, IID_IImageList, (void**)&imList); 

我有256x256图像的列表,但是没有256版本的小图标的大小也有256的大小。我需要使用 true 大小来获取每个图标。我怎样才能找到它的大小?

我使用以下方法获取图标的大小:

IImageList::GetIconSize

确定。现在我知道IImageList::GetIconSize让所有图标的大小等于256x256。那么另一个问题,如何知道真实的图像尺寸?

P.S。抱歉我的英文。

1 个答案:

答案 0 :(得分:1)

图像列表只能保存相同大小的图像。如果您有256x256图像列表,它将始终返回256x256图像。要检索其他大小的图像,您需要访问Shell提供的其他大小的图像列表。