65.9K
CodeProject 正在变化。 阅读更多。
Home

替换默认 MFC 图标

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.32/5 (9投票s)

2000年2月17日

viewsIcon

165604

如何替换应用程序中的默认 MFC 图标

许多刚开始使用 MFC 的程序员想知道如何“替换”默认图标,而不是在资源编辑器中更改或编辑它。这里有两种简单的方法可以做到(实际上是一种方法,但有两个版本)。

  1. 资源文件(.rc)中存在一个 ICON 语句,它导致资源编译器将图标包含在程序的资源中。MFC 项目的默认图标位于 ../res 文件夹中。要替换这些图标,我们需要编辑 rc 文件并为现有图标提供新的图标。请按以下步骤操作:
    1. 将新的图标文件复制到 .../res 文件夹中。此步骤不是必需的,但最好将所有资源放在一个文件夹中。
    2. 选择文件 -> 打开,弹出文件打开对话框。选择 .rc 文件,并将“打开方式”组合框更改为“文本”(默认情况下为“自动”)在文件 -> 打开对话框中。现在在 .rc 文件中查找 ICON 语句,它应该如下所示:
    ///////////////////////////////////////////////////////////////////////////// 
    
    //
    // Icon 
    //
    // Icon with lowest ID value placed first to ensure application icon
    // remains consistent on all systems.
    
    IDR_MAINFRAME           ICON    DISCARDABLE     "res\\Project.ico"
    IDR_DEVICETYPE          ICON    DISCARDABLE     "res\\ProjectDoc.ico"

    接下来,只需将相关文件名更改为新的文件名,例如:

    IDR_MAINFRAME           ICON    DISCARDABLE     "res\\NewIcon.ico"

    现在构建项目,新的图标应该显示出来。

  2. 第二种方法是第一种方法的快捷方式。与其编辑 .rc 文件,不如将新的图标重命名为与旧图标相同的名称并复制到它上面。但是,如果您构建项目,即使该图标现在磁盘上不存在,也会显示相同的旧(默认)图标!这是因为资源编译器未检测到 rc 文件中的任何更改,因此实际上并未重新编译 .rc 文件(除非对其进行了更改)。因此,程序显示的是上次编译时添加的相同旧图标。因此,要使更改生效,只需重新编译 rc 文件即可。只需将其作为文本文件打开(如方法 1 中所述),单击文件并编译(Ctrl+F7)。

注意:通常不建议手动编辑 .rc 文件,但是上述过程无害,可以放心使用。

许可证

本文未附加明确的许可证,但可能在文章文本或下载文件本身中包含使用条款。如有疑问,请通过下面的讨论区联系作者。

作者可能使用的许可证列表可以在此处找到。

© . All rights reserved.