【问题标题】:MFC - Replacing default application iconMFC - 替换默认应用程序图标
【发布时间】:2010-11-11 01:50:51
【问题描述】:

我有一个 MFC 对话应用程序。我想替换应用程序 exe 图标。

  1. 我打开默认的 MFC 图标,例如。使用 Axialis IconWorkshop 在 res 文件夹中的 app.ico。
  2. 替换图标中的所有图片。
  3. 将其保存到 appA.ico。
  4. 然后我将图标 IDR_MAINFRAME 的 Filename 属性更改为 res\appA.ico。
  5. Visual Studio 图标编辑器显示正确的图像。

但是当我构建应用程序时,与 app.exe 关联的图标仍然显示 MFC 默认图标。

出了什么问题?

【问题讨论】:

  • 尝试重建项目(Build > Rebuild Project)。有时无法正确识别新资源。

标签: mfc


【解决方案1】:

在这些情况下,Visual Studio 设计器有一点问题(或者,设计使然但难以理解)。最好编辑 .rc 代码文件并在那里更改图标文件名。

【讨论】:

  • 是的,我改了。现在它出现了,但在 Windows 7 上发生了一些非常奇怪的事情。小图标和中图标显示正确,但大图标和超大图标显示 MFC 默认图标。
  • 我也遇到了同样的问题。我的情况是列表和小图标无法正确显示。是因为图标文件本身吗?你最后是怎么解决问题的?谢谢。
【解决方案2】:

我想我记得它是 .RC 文件中使用的第一个图标,无论您做什么,因此您可能必须直接编辑 .RC 文件,就像 djeidot 说的那样。

【讨论】:

  • 我不知道为什么 MFC 是这样设计的,因为它真的很愚蠢,但它是我的答案。尽管如此,我还必须更改 Ressource.h,因此我的 ICON 的 ID 也将是列表中出现的第一个 ICON ID。
【解决方案3】:

有时,Windows 会缓存图标。您的应用程序可能没有问题。尝试下载类似Resource Hacker 的内容

并查看您的 exe 文件。如果图标看起来正确,那么您的 appdata\Local 文件夹中有 IconCache.db 或类似文件(取决于 Windows 版本)。删除它并重新加载资源管理器。

【讨论】:

    【解决方案4】:

    其中一个 Visual Studio 文件缓存了一些资源;不幸的是,我现在不记得是哪一个了。将这些带有奇怪扩展名的文件重命名为其他文件并尝试重建。

    【讨论】:

      【解决方案5】:

      我有同样的问题并通过这个解决方案解决它:

      1. 构建\清洁解决方案
      2. 将 appA.ico 再次复制到 res 文件夹中
      3. 重建项目

      【讨论】:

        【解决方案6】:

        我有同样的问题并通过以下方式解决: 1.清除溶液 2.打开任务管理器并转到详细信息选项卡。 3.搜索 explorer.exe 并右键单击它并结束任务。 4.转到文件->运行新任务,输入explorer.exe 5.现在构建解决方案并检查应用程序图标。

        【讨论】:

          猜你喜欢
          • 2016-07-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-11
          • 1970-01-01
          • 1970-01-01
          • 2018-11-13
          • 1970-01-01
          相关资源
          最近更新 更多