(未完待续。。。)
第15章 定制一个 AppWizard 产生新的「程序代码产生器」
注:
①DUMPBIN.EXE工具的位置:
VC++5.0的\DevStudio\SharedIDE\BIN\IDE\对应VC++6.0的MVS\VC98\Bin\
②下面的目录提供用户定义的AWX文件存放位置:
VC++5.0的\DevStudio\SharedIDE\Template对应VC++6.0的MVS\Common\MSDev98\Template
③Visual C++ 系统中早已存在有一些.AWX档了
VC++5.0系统的.AWX可能是在\DevStudio\SharedIDE\BIN\IDE\中,找到5个AWX文件
VC++6.0系统的.AWX可能是在\Common\MSDev98\Bin\IDE中,找到13个AWX文件和24个HLP文件
1.MFC AppWizard以「程序代码产生器」的身份,自动做出「骨干程序」。(内建的程序类型)
用于定制AppWizard。(任何自定程序类型)
2.Wizard的本质:AWX文件,Application Wizard eXtension (32位的MFC extension DLL)
Developer's Studio提供了一个开放的AppWizard接口(一组类别和一些组件),产生AWX文件
必须被放置于中\DevStudio\SharedIDE\Template被VC++的"project manager"会检查,
并将"template"显示其图标于【New Project】对话窗中,供使用者选择。
Wizard 本身是一个所谓的「template 直译器」。这里所谓的"template" 是一些文字文件,内有许多特殊符号(也就是本章稍后要介绍的macros 和directives )。Wizard 读取这些template ,对于正常文字,就以正常的output stream 输出到另一个文件中;对于特殊符号或保留字,就解析它们然后再把结果以一般的output stream 输出到文件中。Wizard 所显示给使用者看的「步骤对话窗」可以接受使用者的指定项目或文字输出,于是会影响template 中的特殊符号的内容或解析,连带也就影响了Wizard 的stream 输出。这些stream 输出,最后就成为你的项目的源文件。
3.「订制型AppWizard」的产生:
Custom AppWizard | Standard MFC AppWizard steps(1) | MFC Exe
根据MFC AppWizard为它加上额外的几个步骤,成为一个「订制型AppWizard」。
其他方式:
An existing project:根据一个原已存在的项目档(*.dsp)来产生一个「订制型AppWizard」
Your own custom steps:有全新的步骤和全新的对话窗画面。最大弹性最困难的一种作法
生成的文件自动复制到\DevStudio\SharedIDE\Template中一份
整合环境的【File/New 】,在【Projects】对话窗中新的「订制型AppWizard 」出现了: