VC----资源文件RC && RES

时间:2022-12-24 09:50:45

Windows所有可使用预定义资源的位置:点这里

MSDN查找Resource-Definition Statements (Windows)‎ 关键字。

资源在VC程序中的使用。

一个源文件.RC文件(脚本文件);

RC.EXE编译后生成.RES文件;

Link.EXE链接后与其他二进制文件一起形成可执行程序。

脚本文件-->二进制的RES文件-->二进制可执行程序。

脚本文件:

文件中的注释:有两种类型,和C中是一样的,// 和 /**/ 两个类型。意义也是完成一样的。

预定义宏:RC编译器支持一部分C编译器的宏。

预处理命令:

#define:给指定的值命名,

#define     NONZERO     1
                   #define     USERCLASS   "MyControlClass"

#if#elif#else#endif :相当于if      else if      else

                  #if constant-expression
                  #ifdef name  //检查name是不是被定义过
#ifndef name //检查name没有被定义过时发生

#undef :移除定义。

               #undef name

资源定义: 每个资源有两种表示形式,一种字符串形式,一种整数形式

           ACCELERATORS:定义菜单加速键。

BITMAP

               nameID BITMAP filename
nameID:是一个16位的数字或者一个字符串标识;filename:是一个文件名,是绝对路径如果不在程序目录下的话。

CURSOR

              nameID CURSOR filename
              cursor1 CURSOR "bullseye.cur"
2 CURSOR "d:\\cursor\\arrow.cur"

DIALOG:定义一个对话框模板。

              nameID DIALOG x, y, width, height  [optional-statements] {control-statement  . . . }
#include <windows.h>

ErrorDialog DIALOG  10, 10, 300, 110
STYLE WS_POPUP | WS_BORDER
CAPTION "Error!"
{
CTEXT "Select One:", 1, 10, 10, 280, 12
PUSHBUTTON "&Retry", 2, 75, 30, 60, 12
PUSHBUTTON "&Abort", 3, 75, 50, 60, 12
PUSHBUTTON "&Ignore", 4, 75, 80, 60, 12
}

ICON:图标资源;

示例:使用自己的图标

编辑RC资源脚本文件。

IDI_ICON1 ICON  "72.ico"   注意路径。

注意:

   //wndcls.hIcon=LoadIcon(NULL,MAKEINTRESOURCE(IDI_ICON1));
wndcls.hIcon=LoadIcon(hInstance,"IDI_ICON1");

IDI_ICON1是RC文件中定义的资源标识

添加Resources.h文件,在文件中定义:

链接器会自动把资源链接到程序中。

#define IDI_ICON1 121

VC----资源文件RC && RES的更多相关文章

  1. 在VC资源文件中加入声音资源

    本文介绍如何在VC资源文件中加入自己的声音资源,使自己的应用程序可以播放声音. 1.首先用文本编辑器(如记事本)打开资源文件(.rc文件) 在最后加入自己的声音资源,如下IDW WAVE " ...

  2. Delphi 资源文件( &period;res)

    一.    现在的Windows应用程序几乎都使用图标.图片.光标.声音等,我们称它们为资源(Resource).最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便程序需要的时候调用.资源是 ...

  3. Android 在资源文件(res&sol;strings&period;xml)定义一维数组,间接定义二维数组

    经常我们会在资源文件(res/strings.xml)定义字符串,一维数组,那定义二维数组?直接定义二维数组没找到,可以间接定义. 其实很简单,看过用过一次就可以记住了,一维数组估计大家经常用到,但是 ...

  4. &lbrack;Windows&rsqb; VS打开资源文件&lpar;&period;rc&rpar;时显示 error RC2247 &colon; SYMBOL name too long

    源解决方案:error RC2247 : SYMBOL name too long 解决方法: 将所有要包含的文件用 APSTUDIO_HIDDEN_SYMBOLS 宏包起来,保存后关闭当前的资源文件 ...

  5. 深入探究VC —— 资源编译器rc&period;exe(3)

    Windows应用程序中,图标.菜单.畏途.图标.工具条.对话框等是以资源的形式存在的.开发人员也可以自定义资源类型.如果一个程序使用了资源,那么它在构建时需要对资源进行编译.程序所使用的资源会在资源 ...

  6. 在使用masm32 rc编译资源文件&period;rc出现的问题

    fatal error RC1004: unexpected end of file found 很蛋疼.然来是.h宏定义文件中.最后一行加个回车键即可.否则就提示这错误.

  7. VC释放EXE资源文件

    原文地址:http://blog.csdn.net/wangningyu/article/details/4378378 今天有个朋友问到VC能否释放多个EXE.DLL或WAV等文件,我便做了个实例给 ...

  8. delphi 资源文件详解

    delphi资源文件详解 一.引子: 现在的Windows应用程序几乎都使用图标.图片.光标.声音等,我们称它们为资源(Resource).最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便 ...

  9. delphi资源文件制作及使用详解

    一.引子:现在的Windows应用程序几乎都使用图标.图片.光标.声音等,我们称它们为资源(Resource).最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便程序需要的时候调用.资源是程 ...

  10. 安卓普通类通过classloader访问资源文件

    Android studio不知道怎么设置,才可以在生成APK时把一些文件打包进去. 但是不管怎么样,放在res文件夹下的东西是一定得打包的.所以把一些资源文件放在res/raw这个文件夹里是科学的. ...

随机推荐

  1. &period;NET魔法堂:工程构建基石-&gt&semi;MSBuild

    一.前言 MSBuild是一个既熟悉又陌生的名字,Visual Studio的项目加载和构建均通过MSBuild来实现.VS中右键打开项目菜单,对应MSBuild的Build目标,对应MSBuild的 ...

  2. Sharepoint学习笔记—习题系列--70-573习题解析 -&lpar;Q121-Q124&rpar;

    Question 121You develop a custom approval workflow. The workflow uses the CreateTask class to assign ...

  3. angularjs中ng-route和ui-router简单用法的代码比较

    1.使用ng-route: app.js中的写法: var app=angular.module('birthdayApp',['ngRoute']); app.config(function($ro ...

  4. 【Hibernate 5】继承映射配置及多态查询

    一.继承实现的三种策略 1.1,单表继承.每棵类继承树使用一个表(table per class hierarchy) -->本文主要介绍的继承策略 类继承树对应多个类,要把多个类的信息存放在一 ...

  5. Hbuilder主页面控制子页面的方法

    主页面的写法 (function($, doc) {                mui.init({                    swipeBack : false,           ...

  6. iOS UI控件总结&lpar;全&rpar;

    1.UIButton UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect]; btn.frame = CGRectMake ...

  7. &num;WEB安全基础 &colon; HTTP协议 &vert; 0x4 各种协议与HTTP协议的关系&lpar;一个报文的旅行&rpar;

    报文是怎么旅行的呢? 在网络中有很多引路人,如HTTP协议,IP协议.TCP协议.DNS协议以及ARP协议. 请看下图,演绎一个报文的旅程 这就是一个报文的完整请求过程,请加以理解并记忆 //本系列教 ...

  8. CentOS磁盘满了,导致磁盘无法写入,这么清理

    输入命令 du -sh /* | sort -nr 会列出根目录文件夹的大小 看到哪个文件夹比较大 删除相应的缓存,重启服务器即可

  9. Microsoft visual Studio2017 中番茄visual assist 破解

    百度查下,会发现VS(visual Studio)小番茄的破解有很多,但无外乎两种,第一种是输入注册码的,但是大多数[99%之上]都是无效的key值:还有一种是替换文件的.由于网络给的资料太多,也杂乱 ...

  10. centos6&period;6 安装MariaDB

    参考文章:yum安装MariaDB(使用国内镜像快速安装,三分钟安装完毕) 安装环境: virtualbox下CentOS6.6(32位) 遇到的问题: 通过Maria官方提供的安装方式,源是国外的源 ...