2011-08-29 63 views
5

在Delphi应用程序中定义win7兼容图标集的正确方法是什么? (可变大小在桌面上)在Delphi 2007应用程序中设置Windows 7兼容图标

我设计了一个256 * 256的图标,然后制作了16 * 16,24 * 24,48 * 48的变体。 (在Microsoft UX指南中,他们似乎认为这些尺寸应该包含在桌面上以便正确显示)。

我已经把所有的图标变化放在GIMP的一个多层文件中,然后把整个东西导出为一个ico。然后我将它作为项目选项中的应用程序图标,按照直接的方式将图标分配给应用程序。 (Win 7)当在桌面上(Win 7)制作“Ctrl + Wheel”(调整桌面图标大小,如果您还不知道它......)时,我已经放了一个shorcut, ,正确的图标不显示,在48 * 48之后它保持相同的大小(我怀疑只有48 * 48版本被使用)。

+0

256px版本必须是PNG。是你的?我会推荐IcoFX将各种图像整理成.ico文件。另外,一些Delphi的资源编译器的旧版本不支持256像素的PNG图标。如果是这种情况,请使用MS rc。 –

+0

没有256 px版本没有(还没有...)压缩。 – az01

+0

实际上,我认为系统确实接受256像素的bmp。尽管如此,仍然不是一个好计划他们是巨大的! –

回答

8

256像素大小的图标应该是压缩的PNG图标。我怀疑Delphi 2007附带的资源编译器不会喜欢这种格式,因此您需要使用MS资​​源编译器rc。该图标应命名为MAINICON。这就是说,我怀疑一个256像素的位图会起作用,它会非常大。

更重要的是,IIRC,Delphi IDE不喜欢256像素的PNG图标,所以通过IDE将图标添加到项目中并不好。您需要自行构建.res文件并将其与{$R ...}指令链接。

最后,可能您的.ico文件可能不正确。 256px图像实际上存储宽度和高度等于0,因为该字段是字节大小和0以前无效。也许这就是IDE所暗示的。用不同的工具检查.ico文件,例如IcoFX。

可能还有其他问题 - 这些只是我能记得多年来遇到的问题。如果我不得不猜测哪个问题咬你,我会说这是IDE无法处理256像素的图标。

我相信IDE在这个领域已经在更新的版本中逐步好转,但即使在我目前使用的D2010中,它也不是完美的。

+0

我已经使用了XE2 beta中提供的资源编译器来编译图标集。除了我不需要h文件之外,它与Microsoft的一样。它编译rc ...实际上问题依然存在。这只是D2007-output-exe RC数据不管理压缩资源......没有办法改变这种情况。即使在ResHack中也无法取代res ...它只是不能在旧版本中进行管理...... – az01

+0

I'我没有得到XE2,但我期望brcc32仍然不同于MS rc。我已经用rc成功地使用了压缩图标几年。 –

相关问题