又快下班了,趁这会有点时间,赶紧写一点。接着上一次的关于资源文件(rc文件)继续说,这里主要说两个内容。
一 利用rc文件进行界面的布局
打开一个资源文件,如FHRDemo.rc,右键选择查看代码,可以看到文本描述的资源文件,这里截取其中的一段。
// Dialog
//
IDD_ABOUTBOX DIALOGEX 0, 0, 235, 55
STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
CAPTION "About FHRDemo"
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
ICON IDR_MAINFRAME,IDC_STATIC,11,17,20,20
LTEXT "FHRDemo Version 2.0",IDC_STATIC,40,10,119,8,SS_NOPREFIX
LTEXT "Copyright (C) 2007",IDC_STATIC,40,25,119,8
DEFPUSHBUTTON "OK",IDOK,178,7,50,16,WS_GROUP
END
IDD_FHRDEMO_FORM DIALOGEX 0, 0, 286, 211
STYLE DS_SETFONT | DS_FIXEDSYS | WS_CHILD
FONT 8, "MS Shell Dlg", 0, 0, 0x1
BEGIN
LTEXT "",IDC_STATIC_INPUT_AREA,64,0,174,208,NOT WS_VISIBLE | WS_BORDER
PUSHBUTTON "0",IDC_BUTTON_HIT0,0,0,63,22
PUSHBUTTON "2",IDC_BUTTON_HIT2,0,43,63,21
PUSHBUTTON "1",IDC_BUTTON_HIT1,0,22,63,21
PUSHBUTTON "3",IDC_BUTTON_HIT3,0,64,63,21
PUSHBUTTON "5",IDC_BUTTON_HIT5,0,106,63,21
PUSHBUTTON "6",IDC_BUTTON_HIT6,0,127,63,21
PUSHBUTTON "7",IDC_BUTTON_HIT7,0,147,63,21
PUSHBUTTON "8",IDC_BUTTON_HIT8,0,168,63,21
PUSHBUTTON "4",IDC_BUTTON_HIT4,0,85,63,21
PUSHBUTTON "9",IDC_BUTTON_HIT9,1,189,62,21
PUSHBUTTON "Clear",IDC_CLEAR,238,37,45,34
PUSHBUTTON "Exit",IDC_EXIT,238,173,46,34
PUSHBUTTON "Revert",IDC_REVERT,238,71,45,33
PUSHBUTTON "Options",IDC_OPTIONS,238,136,45,36
PUSHBUTTON "Mouse",IDC_SWITCH,238,104,45,32
PUSHBUTTON "Recognition",IDC_RECOGNITION,238,0,45,37
END
这里,可以看到,上面对资源的描述包含了两个对话框,一个是IDD_ABOUTBOX,另外一个是IDD_FHRDEMO_FORM。第一个对话框的大小描述是(0,0,235,55),这四个的意思是: 第一个0是表示该控件的X的最左的坐标,第二个0是Y方向的最上面的坐标。 而235代表X方向的宽度,而55是代表Y方向的高度。接下来是STYLE: 紧跟后面的是该对话框的style。 再接下来是该对话框的font及其他一些信息。在BEGIN和END之间的是列举该对话框中所有的控件以及这些 都是一些什么控件及控件的尺寸和caption.
有了这些以后,我们就可以完全在这上面对它进行改动来完成对界面的风格和尺寸的一些改动。而无需再依靠向导了,并且这个比向导要灵活很多。当然,一开始可能会出现错误!!
二 利用rc文件添加自定义资源
这个就更加简单了,无需向导中那么的复杂步骤,且容易出现像我上面一篇文章说的那么多问题,如改名字不容易。这里,如果利用rc文件的话,就只需要一行就全部搞定。
MYSKIN22 MIAOWEI "res\\shapedemo.smf"
其中, MYSKIN22是新建资源的名字,在向导中是“新建”功能。MIAOWEI是资源名字,这个在向导中有个默认名字,有点搞的。而最后面的就不用说了,是该资源的路径。一般放在res文件夹下。我们只要在res文件夹中放入这个资源就可以了。这时,保存rc文件,然后重新在资源视图中去看看,可以发现,我们已经完成了向导中需要一系列操作的工作了。
好了,又要下班了,就算结束吧。
老样子,有问题,欢迎讨论。
评论