小米平板电池可以换吗:c++中.rc文件和resource.h的问题

来源:百度文库 编辑:偶看新闻 时间:2024/04/28 08:18:38
推荐答案
是一个资源文件,里面包括了引入的位图文件,窗口,图标,光标等等

追问

谢谢,可是请问它一般用在何处,有什么作用呢? 只用c文件不能完成rc文件的作用么?不好意思问的很笼统,要是有个小例子的话就太好了。多谢。

回答

例如,你的程序要生成一个exe文件,而文件的图标是你自定义的图标。你就要在这个工程里面添加Icon资源,添加一个外部的ico文件,保存到.rc里面,因此可以直接调用图标文件又例如对于你创建一个MFC的工程,基于对话框的,那么它就回自动生成一个窗口的资源,保存在.rc里面
建立.rc的过程:
file->new->Resource Script->输入名字(比如test.rc)->OKtest.rc里面的内容包括各种窗口的宽度,高度,风格等等.当你拖动一个按钮的大小时,新的大小将被写入到RC文件中,编译的时候编译器根据RC的内容帮我们创建窗口,帮我们设置窗口风格
 
.rc说白了是一个文本文件(txt),一般配合.h文件使用.可以用VC创建,可以创建的内容,包括:menuicobmpstring等. 
也可以用记事本打开和创建
 
是自动生成还是手动生成的问题
VC会根据你在可视化界面的设计,会自动管理该文件.包括.rc文件。你可以在资源视图里面编写,总比你自己手工编写方便。毕竟有便利就要用嘛,何必自找麻烦。但是,有时候VC也会出点小问题就需要自己动手进去修改,可以增加灵活性。两种手段,各有优劣,优势互补。不是用不用MFC的问题,看你用不用可视化界面编辑器了,如果不用它,那不仅仅是resource.h,连.rc都要自己写了。具体语法你可以参照MFC自动生成的。
 
resource.h一般不需要手动写当你添加一个资源并保存时,VC会自动在resource.h文件中增加一个宏定义。该定义确定资源的ID。但是当你删除一个资源时,VC并不会在resource.h中删除该ID的定义。不过这个并不会影响你对资源的使用。因为当你下次添加资源时以相同的ID来定位资源时,VC会自动搜索头文件,如果已经存在并且未被使用,则不重新定义该ID。如果已经存在且已经被使用,系统将会对你进行提示。
 
resource.h就是.rc文件的头文件.rc文件里的常量全在resource.h定义一般情况下不用你去写和修改vc会帮你写和改但是如果你想用以前的.rc中的资源比如你以前做的对话框你只需复制粘贴就行了就象下面这段IDD_JK_DIALOG DIALOGEX 0, 0, 320, 200STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENUEXSTYLE WS_EX_APPWINDOWCAPTION "jk"FONT 9, "宋体"BEGIN    PUSHBUTTON      "学号",IDC_BUTTON1,25,75,62,22    PUSHBUTTON      "姓名",IDC_BUTTON2,179,75,64,24    EDITTEXT        IDC_EDIT1,105,75,57,24,ES_AUTOHSCROLL    EDITTEXT        IDC_EDIT2,261,75,46,24,ES_AUTOHSCROLLEND你可以复制到你新的工程里去。方法是用记事本打开.rc文件然后粘贴进去但是vc可能会提示IDD_JK_DIALOG IDC_BUTTON1,IDC_BUTTON2,IDC_EDIT1,IDC_EDIT2没有定义这时你只需要用记事本打开resource.h在里面加#define IDD_JK_DIALOG                   102#define IDC_BUTTON1                     1000#define IDC_BUTTON2                     1001#define IDC_EDIT1                       1002#define IDC_EDIT2                       1003如果你需要做一个有很多控件的对话框但是以前做过一个一样的对话框这时你就可以使用这种方法