Delphi 2010 将不包含大图标

Posted

技术标签:

【中文标题】Delphi 2010 将不包含大图标【英文标题】:Delphi 2010 won't include Large icons 【发布时间】:2012-06-05 18:11:03 【问题描述】:

我们只是在我们的内部应用程序中添加了对 Window 7 的支持,但在应用程序中包含对大图标的支持时遇到了问题。

我在 IcoFX 中创建了一个包含默认图标范围的 .ico 文件,并将其分配给 Delphi 2010 中的项目。但是,当我运行应用程序时,显示的图标是默认(32x32?)图标。

问题是我在 Windows XP 机器上而不是在 Windows 7 上编译应用程序吗?

[更新] 我已经确认 XE2 在编译时包含所有图标大小 - 当然是在 Windows 7 上编译时。

【问题讨论】:

任务栏(默认)或 alt+tab 对话框显示 32x32 图标。您希望在运行应用程序时在哪里显示较大的图标? 大是什么意思? 48x48?还是 256x256?只需将第二个图标(使用 ICON 行创建一个 RC 文件,并通过 $R .. 指令构建+链接资源)到您的应用程序中,Windows 资源管理器就会找到具有 256x256 大小图标的第二个图标,它然后将以全尺寸荣耀显示在您的 Windows 桌面上。根据 Delphi IDE 和项目管理器代码的设计,分配为默认应用程序图标的图标最多只能达到 48x48。 沃伦你能把它添加为答案,以便我回复吗? @Dan - 好的,运行应用程序部分令人困惑,对于资源管理器视图,您不必运行应用程序。无论如何,我建议尝试IDE Fix Pack,已修复的 D2010 缺陷之一是“不支持 Vista 兼容图标 (256×256)”。 IDE 无法处理那些 256 像素的 PNG 图标。是资源编译器对此感到困惑。我自己解决问题。我使用 MS 资源编译器创建带有 MANICON 的 .res 文件并将其链接。 【参考方案1】:

它可能来自 Windows IconCache 数据库。这是我在类似情况下遇到的一个问题。一些 Delphi 开发机器仍然显示几年前的图标,因为 IconCache 只存储路径,而不是文件内容的任何散列。

点击此链接了解如何清除 IconCache:https://www.google.com/search?q=reset+iconcache+windows

【讨论】:

您可以通过重命名 exe 或将 exe 复制到新机器来测试这是否是问题所在。重建缓存应该可以解决它。

以上是关于Delphi 2010 将不包含大图标的主要内容,如果未能解决你的问题,请参考以下文章

Delphi(TListView)列表视图组件详解

delphi2010自带 TTrayIcon 托盘图标控件使用方法

jqgrid viewGridRow对话框大跨度和图标[重复]

delphi 给程序加托盘图标

带有大图片、大图标和小图标的通知

LARGE 512 图标的图标闪耀问题