导航

能编辑在MASM编译的RC资源脚本的利器

Posted on 2006-10-01 21:02  边缘  阅读(2752)  评论(2编辑  收藏  举报

在MASM中,编辑资源脚本文件(.rc)是一个很不容易的事情,当然可以用VC中的资源编辑器来编写,但是会产生不少VC附带的自己的头文件等等还有一些没有用的注释。当然生成.res文件后,省去MASM中的编译过程还是简单。
但是还是有一个很好的资源编辑器:MinGW Developer Studio下带的Resource editor,优点是:1、生成的脚本代码短小精悍;2、可以直接在MASM中编译使用。
以一个罗云彬MASM32编程书上的一个例子说明一下:
用Chapter05\Control的rc文件编译的RES文件,在VC下(无论VS6.0或.net2003)均有乱码现象,原来例子中用MASM方法编译的是英文语言界面,所以在此情况下首先要修改语言类型。否则直接保存回.rc中文都会是?号。然后你可以另存为rc文件。请看看下面的自动生成的部分脚本代码:

这些绝大多数是VC编译时必须的,但对于MASM是不必要的。
想象一下,每次都要对rc文件作很大的修改才能在MASM下编译或在别的平台上编译,颇为痛苦.......
但是Resource editor的表现是绝对的精悍,就像Dreamweaver和FrontPage对于网页编辑的不同表现一样,它的脚本代码不但简单,直白,而且可以直接在MASM下编辑使用,比如上面的例子,我将现成的rc文件用Resource editor打开(这在VC下是不可能的,因为会提示不能识别...等等),则会有个非常棒的资源编辑器打开,如下图:

而其脚本代码则没有任何多余的东东,我在编辑器中对Control.rc做了修改,同时在Control.asm中加入了如下代码:
IDC_ABOUT equ 111

szCaption    db    
'资源界面好工具',0
szText        db    
'看看,制作能让MASM编译的界面多简单啊!',0

;
********************************************************************
; 新增按钮
;
********************************************************************
            .elseif    ax 
==    IDC_ABOUT
              invoke    MessageBox,hWnd,offset szText,offset szCaption,MB_OK

再回到MASM下重新编译,运行如下图:

相当方便简单吧!呵呵!