Windows应用程序中,图标、菜单、位图、工具条、对话框等是以资源的形式存在的。在win32编程中,为方便项目中的资源统一管理,提供了一个格式统一的资源文件,对各种资源进行管理。资源文件的扩展名是.rc,它必须有resource.h的头文件来辅助,在程序编译时它会被资源编译器编译生成一个.res二进制文件。

Windows的应用程序中使用RC资源,需要以下步骤;

1、创建或导入游标,图标,位图,对话框和字体等文件。

2、创建一个描述应用程序使用的资源的资源定义脚本(.rc文件)。

3、使用RC.EXE编译.rc脚本

4、使用链接器将编译后的资源(.res)文件链接到应用程序的可执行文件中,之后o用样

序可以根据需要在运行时加载其资源。所有资源语句都将一个识别名称或ID与给定资源相关联,ID实际是有用户定义的常数,都定义在Resource.h头文件中。

.rc脚本的语法(一般情况不需要记,只需要了解下即可)

1.注释:注释方式和C语言相通,单行注释用/符号,多行注释用/*....*/符号。

⒉预处理命令:预处理指令包括一些头文件的引用(使用#include,也同C语言)。

3.编译指令:预定义(#define,常量和宏,不支持带参数的宏)和条件编译(#if, #ifdef,#undef,#ifndef,#else,#elif,#endif等)。

4.资源定义声明:资源定义的声明中包括“资源”(Resources),“控件"(Controls)和“声明”(Statements)3类。

资源”(Resources)分为:

QQ截图20200905211204.jpg

QQ截图20200905211241.jpg

QQ截图20200905211332.jpg

资源的使用(纯API方式使用方法)

注意:使用前要包含资源的头文件

#include "resource.h"



LoadBitmap    加载指定的位图资源(已被LoadImage功能取代)

LoadIcon    加载指定的图标资源

LoadCursor    加载指定的光标指针资源

LoadString    加载字符串资源

LoadMenu    加载指定的菜单资源

LoadAccelerators    加载快捷键


添加图标示例:

QQ截图20200905215956.jpg

QQ截图20200905220558.jpg

如果要设置窗口的菜单

则直接设置

wc.lpszMenuName = MAKEINTRESOURCE(IDR_MENU2);

即可