zoukankan      html  css  js  c++  java
  • VS自己定义project向导开发(Custom Wizard)

    

     

    vs2010中定制VC++project向导有例如以下两种方式:

    1. 改动现有向导。以满足自己的须要;

    2. 使用“自己定义向导”来产生一个向导骨架,并设计自己的向导。

    本文档仅仅讨论另外一种方式。

    建立自己定义向导过程例如以下:

    第一步。新建“自己定义向导”,建立方法例如以下图所看到的

    新建的自己定义向导project例如以下图所看到的。主要包括四个文件夹(都在START_PATH文件夹中):htmlimagescriptstemplates

    html文件夹存放着作为UIHTML文件;images文件夹存放着UI所使用的图片文件;scripts文件夹存放着用于控制向导行为的脚本文件;而templates文件夹存放着向导用来产生输出的模板文件。

     

     

    新建向导project完毕后,再次new Project就会出现例如以下图所看到的的自己定义project向导。

     

     

    注意:有时候新建自己定义向导后,在此new project时不会出现新定义的向导,这时候就要把CreateCustomProject()函数中PROJECT_TEMPLATE_PATH改为START_PATH

    PROJECT_TEMPLATE_PATH: VC安装文件夹下的VCWizards文件夹

    START_PATH:新建向导project文件夹

    用自己定义的project向导新建文件的project布局例如以下图所看到的。project文件夹中没有Header FilesResource Files

    第二步,加入Header FilesResource Files

    加入方法:在default.js里面的AddFilters(proj)函数中加入例如以下红色字体代码:

     

    function AddFilters(proj)

    {

        try

        {

            //Add the folders to your project

            varstrSrcFilter = wizard.FindSymbol('SOURCE_FILTER');

            vargroup = proj.Object.AddFilter('Source Files');

            group.Filter= strSrcFilter;

            var strHeaderFilter =wizard.FindSymbol('SOURCE_FILTER');

            var group =proj.Object.AddFilter('Header Files');

            group.Filter = strHeaderFilter;

            var strResourceFilter =wizard.FindSymbol('SOURCE_FILTER');

            var group =proj.Object.AddFilter('Resource Files');

            group.Filter = strResourceFilter;

     

        }

        catch(e)

        {

            throwe;

        }

    }

     

    效果图例如以下:

     

    第三步,在自己定义向导project中加入自己定义类,目的是在用自己定义project向导生成的project中能出现自己定义的类。

    加入方法:

    右击Template Files加入类,例如以下图所看到的

    加入的类将出现树节点中,然后将这两个文件进行保存。

    Templates.inf文件。在里面加入类的头文件和源文件,例如以下图所看到的:

    最后,打开文件所在文件夹,将类的头文件源文件移动到Templates1033文件夹下,例如以下图所看到的:

    此时,新建project,在project文件夹下就有了类的头文件和源文件。例如以下图所看到的,

    第四步,把类的头文件放在Header Files中。源文件放在Source Files

    方法:在default.js中的AddFilters中加入例如以下红色字体代码。

    function AddFilters(proj)

    {

        try

        {

            //Add the folders to your project

            //varstrSrcFilter = wizard.FindSymbol('SOURCE_FILTER');

            var strSrcFilter ="cpp";

            var group =proj.Object.AddFilter('Source Files');

            group.Filter = strSrcFilter;

           // var strHeadFilter =wizard.FindSymbol('HEADER_FILTER');

            var strHeadFilter = "h"

            var headgroup = proj.Object.AddFilter('HeaderFiles');

            headgroup.Filter = strHeadFilter;

     

            //var strHeadFilter =wizard.FindSymbol('HEADER_FILTER');

            var strJsonFilter = "json";

            var resourceGroup =proj.Object.AddFilter('Resource Files');

            resourceGroup.Filter = strJsonFilter;

     

        }

        catch(e)

        {

            throwe;

        }

    }

    效果例如以下图所看到的。

    第五步。就是改动类,得到所需的模板类了,假设须要类名和project名一致的话,做例如以下更改:

    注意宏[!output XXX_XXX]假设想得到系统当前时间,用宏[!output CURRENT_TIME]。然后相应的再default.js中加入例如以下红色代码,

    function OnFinish(selProj,selObj)

    {

        try

        {

            var date;

            var dateString;

            date = new Date();

            dateString = (date.getMonth() + 1) +"/";

            dateString += date.getDate() +"/";

            dateString += date.getYear();

           wizard.AddSymbol("CURRENT_DATE", dateString);

           

            var strProjectPath =wizard.FindSymbol('PROJECT_PATH');

            varstrProjectName = wizard.FindSymbol('PROJECT_NAME');

     

            selProj= CreateCustomProject(strProjectName, strProjectPath);

            AddConfig(selProj,strProjectName);

            AddFilters(selProj);

    第六步。project环境配置,在default.vcxproj中进行。

    关键文件解说:

    default.js

    templates.inf

    default.vcxproj

    .vsz

    .vsdir

  • 相关阅读:
    [转载]为 Windows 下的 PHP 安装 PEAR 和 PHPUnit
    作品和案例
    js创建对象的最佳实践
    log4j的PatternLayout参数含义
    Java线程池——ThreadPoolExecutor的使用
    登录mysql 报 Access denied for user 'root'@'localhost' 错误
    CentOS 7下使用yum安装MySQL5.7
    linux下MySQL停止和重启
    Linux 命令 -- chown
    Linux 命令 -- chmod
  • 原文地址:https://www.cnblogs.com/mthoutai/p/7159931.html
Copyright © 2011-2022 走看看