在Delphi 7中使用“加载图标”时,是否可以使用VISTA大小的图标?

4

在Delphi 7的应用程序选项卡中使用“加载图标”时,我无法加载包含Vista大小图标的图标。

有人知道如何在Delphi 7开发的应用程序中显示大于48x48的图标吗?该应用程序需要在Vista和Windows 7上运行。


5
考虑到 Delphi 7 是在2002年发布的,比 Vista 提前了4年,因此它似乎不太可能支持Vista风格的图标... - Dean Harding
3个回答

5
一个图标是一组图片。从Windows Vista开始,支持PNG压缩图像,并且实际上当你说“Vista图标”时,图形设计师会将其视为包含PNG图像的图标(其中还有其他尺寸)。
解决方案(1):删除256x256 PNG图像,128x128 alpha通道图像就足够了,并且它们可以在Delphi 7中正常工作。不要对此感到太难过,Visual Studio本身也有(或者仍有?)许多与PNG压缩图像相关的问题!
解决方案(2):使用Delphi-7兼容的图标进行构建,在Delphi给出Exe之后,用你想要的图标替换它,使用某些工具(ResourceHacker对我来说是免费且有效的,它可以从命令行控制,因此我可以在我的自动化构建中使用它)。

2

2
我刚刚发现我遇到的问题,也是我首次提问的原因,是因为我的.ico文件中的256 x 256图像是PNG压缩格式。我正在使用Iconworks编辑我的图标文件。右键单击256 x 256图像并取消选中“PNG图像压缩格式(Windows VISTA)”选项,然后重新保存ico文件,解决了我的问题。Delphi 7现在可以读取、合并和使用图标文件了。不过这确实会使图标文件变得更大。希望这能帮助其他人。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接