作为MFC新手使用VC++6.0这古董级的东西有时实在痛苦,这有空几天都在想怎么重命名MFC工程的命名空间和类文件。现在总算有个结果,发一下修改过程吧。
首先,使用MFC AppWizard(exe)创建的工程有几个重要的文件:
1.dws文件,它指向工程使用哪个dsp文件。主要内容如下:
Project: "MyDemo"=".\MyDemo.dsp" - Package Owner=<4>
2.dsp文件:它储存了工程中的各项信息,就是要修改的主要文件。
3.rc文件:存储工程资源信息
4.clw文件:存储每个窗体对应的类及资源,ClassWizard会使用到。
5.类文件
MFC工程自带的ReadMe.txt有详细说明。如果我们需要修改整个工程,那么上面的文件都要修改,当然还有大部分文件的文件名。
接下来是修改的步骤:
1.重命名类名:
高版本的Visual AssistX带有重命名类名的功能,不过在Cpp文件还是有的函数的类名没有被重命名。我们手动改就是了。修改类名不会影响整个工程,但我们接下来修改了类文件名,工程可就找不到类了。我们改完类名,将头文件引用也改为新的头文件名,然后退出工程。
2.修改文件名
修改类文件为新的名字。如果要修改命名空间,那么把所有命名空间命名的文件都改为新的,包括Resources文件夹里面以旧命名空间命名的文件,不需要就不要改了。
3.修改工程信息。
如果修改整个工程,进行下面2步,不需要直接跳到第3步.
(1).首先使用笔记本打开dsw文件,修改Project: "
MyDemo"=".\
MyDemo.dsp" - Package Owner=<4>颜色部分为工程名。
(2). 修改rc文件中资源文件名。笔记本打开,使用Crtl+F找出旧命名空间并改为新的,主要是修改.rc2和.ico的旧文件名。因为我们在Resources文件夹里面将他们重命名了。
(3).修改dsp文件。笔记本打开,如果只是修改类文件,那么将SOURCE=后面的类名修改为新的。要修改的地方如下面:
SOURCE=.\MyDemo.h 和
SOURCE=.\MyDemo.CPP
修改完所有要修改的类文件。要修改整个工程的话,那就Ctrl+F把所有旧命名空间的文字都改为新的吧。
(4).修改clw文件。笔记本打开,修改每个窗体对应的类的新名称。这样我们编辑窗体控件,使用ClassWizard 时能识别到新类。另外你也可以删除原来的clw文件,让VC++6.0自己重新创建一个。
4.修改基本完成。打开命名空间,如果发现Wordsapce导航的Resources出现"Load Failed"错误,无法显示窗体等资源文件夹。请点击"Window"->"Close",重新加载即可。
PS:可能修改会不彻底,所以本文仅供参考。