【问题标题】:Windows 7-compatible icon set in a Delphi 2007 application在 Delphi 2007 应用程序中设置与 Windows 7 兼容的图标
【发布时间】:2011-11-06 08:50:56
【问题描述】:

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

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

我已将所有图标变体放在 Gimp 中的多层文档中,并将整个内容导出为 ico。然后我将它作为应用程序图标放在项目选项中,按照直接将图标分配给应用程序的方式。

最后我在 Win 桌面 (win7) 上放了一个快捷方式,但是在桌面 (Win 7) 上制作“Ctrl+Wheel”(调整桌面图标的大小,如果你还不知道的话……)时,没有显示正确的图标,48*48 后它保持相同的大小(我怀疑只使用了 48*48 版本)。

【问题讨论】:

  • 256px 版本必须是 PNG。是你的?我建议 IcoFX 将您的各种图像整理成 .ico 文件。此外,一些旧版本的 Delphi 资源编译器不支持 256px PNG 图标。如果是这种情况,请改用 MS rc。
  • 不,256 px 版本没有(还...)压缩。
  • 其实我认为系统确实接受256px的bmp。虽然仍然不是一个伟大的计划。它们很大!

标签: delphi windows-7 icons delphi-2007


【解决方案1】:

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

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

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

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

我相信 IDE 在最​​近的版本中在这方面越来越好,但即使在我目前使用的 D2010 中,它也不是完美的。

【讨论】:

  • 我使用 XE2 beta 中提供的资源编译器来编译图标集。它和微软的一样,只是我不需要 h 文件。它编译了rc ...实际上问题仍然存在。只是 D2007-output-exe RC 数据不管理压缩资源...无法更改。即使在 ResHack 中也无法替换资源...只是在旧版本中无法管理...
  • 我没有 XE2,但我希望 brcc32 仍然与 MS rc 不同。我已经成功使用 rc 压缩图标几年了。
猜你喜欢
  • 1970-01-01
  • 2013-10-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-19
相关资源
最近更新 更多