【问题标题】:How to Set Icon in a Windows Application using Visual Studio如何使用 Visual Studio 在 Windows 应用程序中设置图标
【发布时间】:2012-02-14 20:04:26
【问题描述】:

我想在我的应用程序中添加一个图标。我添加了一个图标资源。及其第一个图标的工作文件。这意味着我编译后,exe文件的16x16图标与使用的图标文件相同。但是当资源管理器窗口放大到大图标大小时,exe文件的图标会消失,并显示另一个空白的默认图标。

如何设置图标大小显示?

【问题讨论】:

  • 您确定您的 .ico 文件实际上包含较大的图标以及 16x16 的图标吗?你用什么来准备你的 .ico 文件?
  • 我有 3 个不同的图标文件,3 个分辨率。我为每个图标文件创建了3个图标资源IDI_ICON1、IDI_ICON2、IDI_ICON3。
  • 应该是一个图标文件有多个变体(每个分辨率1个),并且图标应该有一个资源名称。操作系统将从该单个文件加载正确的分辨率。

标签: c++ c windows resources icons


【解决方案1】:

从您的 cmets 看来,您的项目设置了 多个 图标文件。这不会按照你想要的方式工作,或者至少这是非常困难的方式

简单的方法是让操作系统为您处理。 创建一个包含多种图标尺寸的图标文件。 16x16、32x32、48x48 和 256x256 是当前 Windows 版本所需的最小尺寸,但您当然可以添加更多(如 24x24 或 128x128)到如果需要,可以提高这些尺寸的像素保真度。

您可以使用 Visual Studio 创建图标。打开.ico 文件应该会自动打开其图标资源编辑器。但我个人觉得使用起来很困难或麻烦。我强烈建议使用像 IcoFX 这样的第三方程序来创建您的图标并推送像素。

【讨论】:

  • 是的,我试过了。我创建了 ico 文件并使用 VS 资源编辑器添加了 16、32 和 48 大小的图标。但现在缩放可以达到 32 大小,但之后又回到默认图标。而且,如果我将 exe 文件移动到桌面,图标会变得像素化,就好像 16x16 已被拉伸......还有一件事。无论如何,如果我左键单击exe文件,任务栏上方底部显示的文件信息会显示默认图标。告诉我如何删除它。
  • @S.Swaroop 在告诉应用程序使用新图标文件后,您必须重新编译该应用程序。我不明白你要描述什么。
  • 已解决。窗户正在缓存图标。因此,当我重命名该应用程序时,新图标被恢复,空白图标消失了。但是当我将其重命名为原始名称时,再次显示空白图标....
  • 嗯,是的,更高版本的 Windows 会缓存图标。您将在(大约)以下路径中找到该文件:C:\Users\<User Name>\AppData\Local\IconCache.db,可以从中删除它以清除图标缓存并强制重建它。如果您喜欢玩图标,也可以从 Windows 资源管理器中完全禁用它。
  • 要快速清除缓存,请更改屏幕/图形适配器的颜色深度,然后再将其改回。
猜你喜欢
  • 2010-09-24
  • 2013-10-31
  • 2021-04-25
  • 2013-08-24
  • 1970-01-01
  • 2012-06-19
  • 1970-01-01
  • 2010-11-30
  • 1970-01-01
相关资源
最近更新 更多