• VS中创建自定义一个VC工程为基础的开发向导的总结


    作者:朱金灿

    来源:http://blog.csdn.net/clever101

       

            VS允许用户进行自定义开发向导。自定义开发向导的好处在于将常用的设置都通过向导生成,从而大大提供开发效率。特别是在开发一些大型系统时,假如需要开发很多模块时,通过自定义的二次开发向导可以降低开发人员的开发入门门槛。

     

           那么如何自定义二次开发向导呢?事实上VS中所有工程向导都是自定义向导的最好的参考例程。以MFC DLL工程为例,它的向导就在$Microsoft Visual Studio9.0VCVCWizardsAppWiz。所以如果你的自定义向导和VC工程类似,最好也放在该目录下。

    现在以制作一个VC工程为例,

     

    一个自定义向导一般由以下文件夹组成:

    HTML—— 向导的html文件

    Images—— html中需要的图像文件

    Scripts—— javascript文件(用于处理向导最终完成的按钮的响应函数)

    Templates——代码模板文件

      

            向导部署的时候,需要将CPIEPluginWizard.ico、CPIEPluginWizard.vsdir和CPIEPluginWizard.vsz三个文件拷贝到$Microsoft Visual Studio 9.0VCvcprojects目录下。

    然后把上面提到的四个文件夹都拷贝到$Microsoft Visual Studio9.0VCVCWizards目录下。

     

             如果你的开发一个自定义的开发向导,建议你不要全部自己开发,而是拷贝一份VCWizards下的向导,然后通过修改它的设置来达到你的目的。

     

    一些重要的JS函数:

    InitDocument: 初始化html页面的函数

    functionNext(document, linkto) : 单击上一步和下一步按钮的响应函数

    functionOnFinish(document): 完成按钮的响应函数

     

           自定义向导的default.js里的函数实际上调用了VC向导中Script.js和Common.js的函数,有些需要从中改写里面的函数达到你的目的,比如增加工程设置。

     

    很多时候JS需要将一些变量值传递到工程模板文件中,这时需要调用window.external.AddSymbol函数,如window.external.AddSymbol("MY_PLUGIN_ALGO",projalgo);

     

    还有在模板可以使用这些变量进行控制,如在MFC工程中增加了对socket的支持,可以如下控制:

    [!if SOCKETS]
    		// 套接字初始化
    		// 注意: 如果此扩展 DLL 由
    		//  MFC 规则 DLL (如 ActiveX 控件)隐式链接到,
    		//  而不是由 MFC 应用程序链接到,则需要
    		//  将下列行从 DllMain 中移除并将它们放置在一个
    		//  从此扩展 DLL 导出的单独的函数中。使用此扩展 DLL 的
    		//  规则 DLL 然后应显式
    		//  调用该函数以初始化此扩展 DLL。
    		if (!AfxSocketInit())
    		{
    			return FALSE;
    		}
    [!endif]
         

                Templates.inf列出了创建工程所需要的全部文件。


    参考文献:

     

    1.   VS自定义向导模板的应用研究 李刚,王叔野,田俊明(中国地质大学研究生院,湖北武汉430074)

  • 相关阅读:
    kafka副本
    kafka消息丢失
    kafka消费者
    RN8302b调试笔记
    MDK #pragma anon_unions
    [Python笔记]Strip
    [Python笔记]AnyAll
    [Python笔记]元组
    [Python笔记]列表
    嵌入式平台移植Python
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6470175.html
Copyright © 2020-2023  润新知