c++ - 256x256的图标又麻烦了,或者如何通过IImageList获取TRUE图标大小

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

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

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

我有一个 256x256 图像列表,但是没有 256 版本的小图标的大小也有 256。我需要让每个图标都具有真实 大小。我怎样才能知道它的大小?

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

IImageList::GetIconSize

好的。现在我知道 IImageList::GetIconSize 获取所有图标的大小等于 256x256。那么另一个问题,如何知道实际图像大小?

附注对不起我的英语。

最佳答案

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

关于c++ - 256x256的图标又麻烦了,或者如何通过IImageList获取TRUE图标大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1787315/

相关文章:

c++ - BoUML 工具已停止在类 View 上显示滚动条

c++ - 使用 "auto"的声明是否与使用具体类型说明符的外部声明匹配?

html - 在 Vista 上,我应该将 Spotify 应用程序放在什么目录中?

c# - 为什么 RequestAdditionalTime() 方法在 Vista/7 中重启时不起作用?

pyqt - Qt : Erase background (Windows Aero Glass)

c++ - POD 结构体的值初始化是 constexpr?

c++ - 如何打印由另一个字符串链表组成的链表?

windows-7 - Windows 7 上的 PowerShell : Set-ExecutionPolicy for regular users

c# - 通过任务栏处理关闭事件

winapi - Windows 7 程序兼容性助手出现在我的应用程序中。为什么?