resource.h 这个东西怎么用?
问题补充:
如果用WINDOWS SDK编程序,例如编个计算器,那用语句创建BUTTON那在resource.h里是系统自动创建还是要我在里面创建ID呢?不用MFC.
满意回答
VC会根据你在可视化界面的设计,会自动管理该文件.包括.rc文件。
你可以在资源视图里面编写,总比你自己手工编写方便。毕竟有便利就要用嘛,何必自找麻烦。
但是,有时候VC也会出点小问题就需要自己动手进去修改,可以增加灵活性。
两种手段,各有优劣,优势互补。
不是用不用MFC的问题,看你用不用可视化界面编辑器了,如果不用它,那不仅仅是resource.h,连.rc都要自己写了。具体语法你可以参照MFC自动生成的。
其他回答共4条
不用
这个就是你在资源视图中添加资源的时候VC给你资源定义的ID,就是一系列宏而已
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, 200
STYLE DS_MODALFRAME | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU
EXSTYLE WS_EX_APPWINDOW
CAPTION "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_AUTOHSCROLL
END
你可以复制到你新的工程里去。
方法是用记事本打开.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
如果你需要做一个有很多控件的对话框
但是以前做过一个一样的对话框
这时你就可以使用这种方法
VS2008中出现:“This file is already open in an editor”即“在另一个编辑器中打开”的问题的解决方案。
在客户区中,即编辑代码的窗口:
把resource.h *.rc *.rc2 等与资源有关的编辑窗口关掉。。。
具体方法:在编辑区的上面的标签上右键---->关闭(得注意一个问题就是,当打开的标签太多是,其实有些标签项是自动隐藏了的,当关闭一些标签时隐藏的标签会自动出现,此时再关闭即可)。。。。。