0

我是德尔福学习者。我有一些德尔福项目。在我所有的项目中,我使用了除 ApplicationIcon 之外的单独的 FormIcon。FormIcon 有 256X256、48X48、32X32 和 16X16 不同尺寸的图标。我注意到在 WinXP 和 Win7 中的“Alt+Tab”显示了一个模糊的 FromIcon。Win7中FormIcon在Taskbar中也是模糊的。我认为这是由于使用 16X16 大小的图标创建的拉伸大小。对此没有自动解决方案。我在互联网上搜索过,我发现我必须打电话

SmallIconSize := GetSystemMetrics(SM_CXSMICON);
LargeIconSize := GetSystemMetrics(SM_CXICON);

但我无法理解它何时会被调用以及如何调用?所以请给一个完整的教程,以便它可以普遍实施。我找到了一个使用 IconResource 的解决方案并调用它。但我不喜欢这个解决方案。我希望只使用 FormIcon。请帮帮我。

4

1 回答 1

2

您需要在其中创建一个.ico包含多种尺寸(页面)的图标文件 ( )。最简单的方法是使用像GreenFish Icon Editor这样的图标编辑器,它将为您完成所有工作。(从现在开始我将其称为GFIE。)

这些说明是特定于 GFIE 的,需要能够正确处理多尺寸图标的 Windows 版本;如果您正在运行 Delphi XE2,您可能正在使用一个。我在 Windows 7 64 位上测试了我使用 Delphi 2007(用于测试兼容性)创建的图标。

  • 创建要用作图标的图像。最好以尽可能大的分辨率创建它(最好是 256 x 256 或更高)。除了图标,您还可以使用其他格式,例如 PNG 或 BMP。您可以使用 GFIE 或任何其他图像编辑器来创建它。

  • 如果还没有,请在 GFIE 中打开图像。Icon->Create Windows Icon From Image...从主菜单中选择。

  • 在出现的对话框中,检查您想要的图标大小。这是具有默认大小和颜色深度的对话框:

在此处输入图像描述

  • 单击确定,GFIE 将创建图像文件。将其保存到磁盘,然后像往常一样将其用于表单或您的应用程序。(Project->Options->Application->Icon对于您的应用程序,或使用 Object Inspector 设置表单的图标。)编译您的项目。

Windows 将根据您系统上的有效设置自动选择合适的图像尺寸;如果您没有创建正确的尺寸,它将选择最接近的匹配并将其调整为正确的尺寸。您可以在 Windows 资源管理器中对此进行测试:切换到您的应用所在的文件夹,然后使用View菜单选择Small IconsMedium IconsLarge Icons,然后观察您的应用程序图标顺利更改为正确的分辨率。

于 2012-08-09T00:03:24.820 回答