我想知道Windows中图标的系统尺寸是否总是方形的。我指的是应用程序的 Windows 规范,而不是图标位图本身。
例如通过 WinAPI GetSystemMetrics(SM_CXICON) 的函数,我得到了大图标的宽度,并通过 GetSystemMetrics(SM_CYICON) 得到了它的高度。但是,既然图标总是方形的,那么这些函数调用中至少有一个不是多余的吗?
此外,图标的默认文件名也只包含一个值,例如AppList.targetsize-16.png 而不是 AppList.targetsize-16x16.png ( https://learn.microsoft.com/en-us/windows/apps/design/style/iconography/app-icon-construction#complete-图标和变体列表)
更准确地说:是否保证 Windows 中的标准图标大小(至少在 Windows 11 之前)始终是正方形?
编辑: 由于问题似乎模棱两可:我目前正在使用 WinAPI 练习 C++(即使它可能有点过时,我只对理论感兴趣)。在创建应用程序时,有无数的文章、过程和概念只是针对图标的设计以及应创建的尺寸。如果我现在想使用 WinAPI 自己管理所有内容,例如将托盘图标的缩放比例更改为 125%,则使用 20x20 图标而不是 16x16。 如果我查询图标宽度,得到 20 作为结果,并可以由此得出结论,我现在正在加载 20x20 图标,现在是否足够?我可能会疯狂地为每次缩放使用不同的颜色(即使真的没有理由这样做)
对于我来说,这个问题主要不是关于实际的好处,更多的是关于基本的了解。
是否保证 Windows 中的标准图标大小(至少直到 Windows 11) 总是方形的?
根据 Qualify an image resources for targetsize 和 Reference an image file from your app package manifest,从我的角度来看,这几乎是正确的,尽管它们是不同的项目类型。
也可以从获取外壳大图标的大小推导出来。
填写注册时使用的WNDCLASSEX结构时 您的窗口类,将 hIcon 成员设置为系统大图标 (通常 32x32)和hIconSm成员到系统小图标 (通常 16x16)。有关类图标的更多信息,请参阅类 图标。