VS自定义工程向导开发(Custom Wizard)
来源:互联网 发布:数据统计专业哪里把 编辑:程序博客网 时间:2024/04/28 04:19
在vs2010中定制VC++工程向导有如下两种方式:
修改现有向导,以满足自己的需要;
使用“自定义向导”来产生一个向导骨架,并设计自己的向导。
本文档只讨论第二种方式。
建立自定义向导步骤如下:
第一步,新建“自定义向导”,建立方法如下图所示:
新建的自定义向导工程如下图所示,主要包含四个文件夹(都在START_PATH目录中):html、image、scripts和templates。html目录存放着作为UI的HTML文件;images目录存放着UI所使用的图片文件;scripts目录存放着用于控制向导行为的脚本文件;而templates目录存放着向导用来产生输出的模板文件。
新建向导工程完成后,再次new Project就会出现如下图所示的自定义工程向导。
注意:有时候新建自定义向导后,在此new project时不会出现新定义的向导,这时候就要把CreateCustomProject()函数中PROJECT_TEMPLATE_PATH改为START_PATH。
PROJECT_TEMPLATE_PATH:VC安装目录下的VCWizards目录
START_PATH:新建向导工程目录
用自定义的工程向导新建文件的工程布局如下图所示,工程目录中没有Header Files和Resource Files。
第二步,添加Header Files和Resource 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;
}
}
效果图如下:
第三步,在自定义向导工程中添加自定义类,目的是在用自定义工程向导生成的工程中能出现自定义的类。
添加方法:
右击Template Files添加类,如下图所示
添加的类将出现树节点中,然后将这两个文件进行保存。
Templates.inf文件,在里面添加类的头文件和源文件,如下图所示:
最后,打开文件所在目录,将类的头文件源文件移动到Templates\1033目录下,如下图所示:
此时,新建工程,在工程目录下就有了类的头文件和源文件,如下图所示,
第四步,把类的头文件放在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;
}
}
效果如下图所示,
第五步,就是修改类,得到所需的模板类了,如果需要类名和工程名一致的话,做如下更改:
注意宏[!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);
第六步,工程环境配置,在default.vcxproj中进行。
重要文件讲解:
default.js:
templates.inf:
default.vcxproj:
.vsz:
.vsdir:
- VS自定义工程向导开发(Custom Wizard)
- viscual studio2008添加opencv自定义向导(Custom Wizard)
- VC9 VS2008 IDE 增加自定义Custom Wizard ——自行操作流程(定制用户向导)
- VS中创建自定义一个VC工程为基础的开发向导的总结
- rcp(插件开发) 如果强制关闭对话框向导(Wizard)
- (翻译)向导(Wizard)
- Wizard向导
- VS自定义开发向导中的vsdir文件的简单说明
- 开发VisualStudio工程向导
- rcp(插件开发) 如果强制关闭对话框向导(Wizard)-貌似是第一个贴出解决办法的!
- wxWindows 应用程序向导Wizard
- Wizard向导控件
- 调用新建向导wizard
- C#设计的一个向导程序(Wizard)框架
- 如何设计一个优秀的向导式界面(Wizard)
- 为VS制作自定义项目模板向导
- VS 自定义工程模板
- MFC向导页面(wizard page)
- POJ1328 Radar Installation 贪心
- crontab 设置定时任务
- android开发之ListView GridView适配器架构
- OJ 70之塑身菜单
- 详解括号匹配问题(STL stack)
- VS自定义工程向导开发(Custom Wizard)
- eWebEditor的使用
- /bin/bash^M: bad interpreter: 没有那个文件或目录
- JEE学习笔记之Tomcat中server.xml文件内各节点详解(一)
- Java集合类学习总结
- C#关于中国式的四舍五入
- SVN无法提交-RA layer request failed的解决方法
- Ubuntu 12.04 64bit GCC交叉编译器制作 原创
- mySQL常用语句