Xtreme.Toolkit.Pro
2011-08-04 06:10
260 查看
这个库在VC下是非常好用的,在好朋友的帮助下快速安装成功,这里做一下详细的步骤 1.先下载Codejock.Xtreme.Toolkit.Pro.v12.0.0这个版本的文件里面有注册码PWD:1200-MFC-TOOLKITPRO 2.安装的时候一路下一步 3.安装完以后会出一个新的配置窗口,这里你可以跟据需要是否选择UNICODE的版本 或者DLL 还是静态的LIB方式这里推荐LIB用LIB发布时不用带DLL了。 4.选择完成后,会弹出一个CMD窗口开始自己编译 ,这个过程 比较慢慢5分钟到10分钟不等 5.编译完后,你可以编译例子了,编译前做一下设置,在Project->Setting->General->Microsoft Foundation Classes中选择 Use MFC in a Static Library就可以编译了。 写在前面的 本文曾在CSDN上首次发表,因内容有些遗漏,所以作了相应的补充,并对一些用词进行了调整,使之更加准确。现再次发表到博客园,欢迎博客园的朋友们多提意见。另外在这次修改中参考了网友红马天下的相关文章http://www.cnblogs.com/homer/archive/2008/04/22/1166105.html,在此表示感谢。同时也非常愿意与之交流XtremeToolkitPro使用心得。 前言 XtremeToolkitPro作为VC++/MFC平台下目前最流行的GUI界面库之一,笔者在此不作过多介绍。不了解的朋友请访问其官方网址: 官方网址:http://www.codejock.com/ 试用版下载地址:到笔者写此文章时为v12.0.0 http://www.codejock.com/downloads/ 笔者手上的是v11.2.1 Full.Source版本,所以它能支持Visual Studio 6.0、Visual Studio 2003、Visual Studio 2005、Visual Studio 2008,不过笔者汉化仅限在Visual Studio 2005中完成,并未在别的Visual Studio版本下试用过,但我想也应该没有什么问题,感兴趣的朋友可以自己尝试着应用到别的Visual Studio版本下,笔者在此非常有兴趣与大家一起相互交流经验。 由于上述原因,本文只针对Visual Studio 2005作详述,并且请大家对应上XtremeToolkitPro中相应的文件夹vs8.0的相应内容。 认识XtremeToolkitPro的文件夹结构及文件用途 XtremeToolkitPro安装后,其文件夹结构如下图所示: 前面的几个文件夹就不用我说了,重点说说Utils里面的文件夹。 AppWizard:很显然是XtremeToolkitPro应用程序工程生成向导的文件夹,这一点后面再作详解。 Package:此文件夹里有一个动态库文件CodejockPackage.dll和一个1033的文件夹,文件夹1033及其下的CodejockPackageUI.dll应该是与UI有关的E文资源包。而DLL文件是被注册在注册表中VisualStudio\8.0\Packages项下的,应该是用作本地化的,具体用途是为Visual Studio提供本地化资源,还是作别的什么用途就不是很清楚了,因为笔者对本地化不是很了解,望有这方面经验的达人指点指点,呵呵。 Translations:文件夹是为ToolkitPro提供的多语言资源库。方便大家开发多语言版本的软件项目。 另外Utils文件夹下还有两个.exe文件,CommandBarsDesigner.exe和ResourceEditor.exe,前者就不用我说了,是开发界面风格的工具,help中有它的使用说明手册。后者呢,是开发多语言版的资源编辑工具,不但可以用来编辑修改Translations文件夹下的资源动态库文件(.DLL),生成新的语种资源动态库,还可以提取.exe中的资源(String Table、Menu和Dialogs中的字符串)生成.xml文件,然后Export to DLL,生成新的资源动态库。 然后是Workspace文件夹,在此之下的Resource文件夹是XtremeToolkitPro 支持的各国语言资源文件夹,其下又包括多个以ResourceXXX命名的文件夹,且每个文件夹下均包括Resource.rc、ResourceXXX_vc80.sln和ResourceXXX_vc80.vcproj三个文件(XXX代表语言名称)。打开.sln文件,整个解决方案里就只包括Resource.rc,由此可看出该工程仅仅是用来编译资源文件的。 而Resource文件夹下有.mak文件(Resource.mak)、项目文件(Resource_vc80.sln)、资源包的定义文件ResourcePackage.h、ResourcePackage.rc。由此可看出是为批量编译资源文件用的。 Samples文件夹下全是 各个Sample的.sln文件。 ToolkitPro文件夹下面是编译XtremeToolkitPro各种版本动态库用的项目文件。如果你修改了ToolkitPro的原文件(如果你是这种牛人:->),你可以打开ToolkitPro_vc80.sln再次编译ToolkitPro界面库便可生成Unicode版本的动态库,或非Unicode动态库。 总结,由上述可以看到,XtremeToolkitPro不但为开发者提供了漂亮的界面库,而且为开发者开发多国语言的程序提供现成的界面相关语言资源库。顺便告诉大家,ToolkitPro还提供了类CXTPResourceManager,处理资源问题应该很方便哦,呵呵。使用方法在help里能找到。 笔者之前通过ToolkitPro向导生成项目,结果界面部分却总是E文的,所以总感觉很不爽。至此,想要ToolkitPro显示中文,不再是难事了。哈哈!! 让你的应用程序界面--ToolkitPro显示中文 打开ToolkitPro_vc80.sln项目,然后查看ToolkitPro.rc源代码,拉到文件最后,会发现如下的定义: 第一行定义了缺省的语言,第二行的标识 _XTP_RESOURCE_LANGUAGE可以看出该标识是为使用不同的语言资料文件而定义标识的。那么只要在程序库中定义了该标识就可以让ToolkitPro使用相应的语言资源库了。HoHo! 打开Source文件夹,在每一个控件包含的文件夹下都可以看到许多后缀为.rc的资源文件,由资源文件的名称,再由定义语句: #define LANGUAGE_LOCALIZED__(ProdName, LangName) <##ProdName##\res\Resource_##LangName##.rc> 可以很容易猜得到中文的定义为zh_CN,自然可以猜到定义中文资源的语句即为: #define _XTP_RESOURCE_LANGUAGE zh_CN 那么应该定义在哪。我的做法是定义在ToolkitPro.rc文件的头几行,因为该文件是编译界面库的项目文件中的文件,与ToolkitPro的源代码没有关系,因此尽可能不影响源代码为佳。 接下来再找到下面一行: LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US 改为--> LANGUAGE LANG_CHINESE, SUBLANG_CHINESE_SIMPLIFIED 再次重新生成一下各种版本的动态库(编译你需要的版本就够了,全编译很费时的!:D),然后再运行你的应用程序,Bingo!界面元素的窗口、工具条等等,比如工具条自定义窗口都变成中文了。 Ps: 我想说说ToolkitPro.rc文件中的 #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) ……… #endif 标识AFX_RESOURCE_DLL我猜想应该是为***多国语言资源所用。因为定义了它,其后的资源文件就不会被定义了。也就是不会把资源编译进ToolkitPro的DLL中。若哪位达人做过多语言版本方面的软件研究,还望不吝赐教。 初识Visual Studio 2005的向导模板 现在让我们来看看Visual Studio 2005的向导都由哪些文件组成,并且向导是如何工作的。若你创建过“自定义向导”工程,对下面的内容应该熟悉了,那么可以跳过下面表的内容。 下表描述由“自定义向导”创建的文件 文件 说明 Project.vsz 它标识向导引擎并提供上下文和可选的自定义参数。 Project.vsdir 在 Visual Studio 外壳程序与向导项目中的项之间提供路由服务的文本文件。 HTML 文件(可选) 向导可以包含用户界面 (UI),即 HTML 界面。没有 UI 的文件不包含任何 HTML 文件。 Default.htm 是指定用户界面中的功能的文件。如果在“自定义向导”的应用程序设置中指定多个页,则每个附加文件均命名为 Page_PageNum.htm。 脚本文件 向导访问脚本引擎并为每个项目创建一个 JScript 文件 Default.js。它还包括 Common.js。这些文件包含访问Visual C++ 向导、代码和环境对象模型以自定义向导的 JScript 函数。可以在向导项目的 Default.js 文件中自定义和添加这些函数。 模板 向导模板是包含指令的文本文件的集合,这些指令根据向导用户的选择被分析并插入符号表中。模板文本文件根据用户输入呈现并添加到项目中。获取适当信息的方法是直接访问向导控件的符号表。 Templates.inf 文本文件,列出与项目关联的所有模板。 Default.vcproj .xml 文件,包含有关项目类型的信息。 Sample.txt 模板文件,显示如何使用向导指令。 ReadMe.txt 模板文件,包含“自定义向导”所创建的每个文件的摘要。 Images(可选) 可以提供任何图像(如图标、GIF、BMP 和 HTML 支持的其他图像格式)增强向导的 UI。没有 UI 的向导不需要图像。 Styles.css(可选) 定义 UI 样式的文件。如果向导没有用户界面,则“自定义向导”不创建 .css 文件。 打开ToolkitPro 的文件夹Utils\AppWizard\vc80\vcProjects会发现有三个向导配置文件。 XTPAppWizard.ico XTPAppWizard.vsdir XTPAppWizard.vsz 这三个文件在运行Deploy.exe 的时候,会被复制到VS路径的VC\vcprojects文件夹下。 vcWizards\ XTPAppWizard文件夹下是Toolkit Pro的模板文件,包括向导界面的Html文件、工程模板(.h啦,.cpp啦等 等),在该文件夹下你可以找到与上表对应的所有文件。细心的你会发现该文件夹下及html、 scripts、templates三个文件夹下都有“1033”的文件夹,这是美国英语的LCID,那么简体中文的LCID为“2052”,所以要汉化 Toolkit Pro就先把所有的“1033”复制一份后改文件夹名为“2052”,这样向导便有了“简体中文”语言选择了。 复制的做法是为了保留原来美国英语,你若需要创建E文程序,在上图界面中选英语就可以了。 让Toolkit Pro应用程序向导变成中文 知道了模板文件的结构和组成,实现汉化已经不难了,打开html文件夹下的文件,该文件夹下全是.html格式的文件,是为向导界面所准备的文件,将其全部汉化便完成了向导的汉化工作。在此笔者告诉大家一点诀窍,因为Toolkit Pro应用程序向导与MFC应用程序向导极其相似,所以完全可以将其两者对照着进行汉化,工具使用Ultra Compare进行文件比较,这样比较方便,但有一点要注意,Toolkit Pro比MFC多那么一个页面,所以要小心其标识的不同,不能整行的完全替换。比如: <SPAN CLASS="ACTIVELINK" ID="XTToolkitPro" TITLE="Specify Xtreme Toolkit Pro General Settings" onClick="onClick(this);" TABINDEX="7">Toolkit Pro Features</SPAN> 其中的 TABINDEX="7"关系到向导面页面跳转的逻辑,因此不能被改动了。 其实只要把TITLE=""内的文字和<SPAN></SPAN>之间的文字汉化就够了。前者是tooltip后者是显示文字,这点了解html的朋友都知道。 再次需要修改工程向导文件AppType.htm,搜索PopulateLanguages(),修改内容: //var strInstalledLangs = window.external.GetInstalledLangs(); var strInstalledLangs = "1033" 替换为: var strInstalledLangs = window.external.GetInstalledLangs(); //var strInstalledLangs = "1033" 其目的是为了让向导在生成工程过程中调用相应的言语模板,即templates下的对应文件夹。 最后修改文件frame.cpp,替换_T("Menu Bar")为_T("菜单栏"),替换_T("Standard")为_T("标准")。这样这两个菜单的标题才会是中文。不过更好的方法是直接在模板的资源文件中定义两个STRING TABLE资源ID,用加载资源的方法载入: CString toolname ; VERIFY(toolname.LoadString(IDS_TOOLBAR_STAND)); 至此,向导的汉化就算完成了。 让Toolkit Pro应用程序向导生成的应用程序带中文资源 最后一步,我们要让Toolkit Pro应用程序的资源完全是中文的。打开templates下2052文件夹(请先将1033文件夹复制并改名为2052),文件夹中有三个.rc文件,汉化这三个文件即可。分别打开这三个文件,你会发现其中除了该有的资源代码外,还有些像程序流程语句一样的标识,如:[!if DOCVIEW && !APP_TYPE_DLG] [!endif]。 这些是生成向导的指令语言,对应的标识符为向导控件的符号,代表了该标识是否在向导中被你使用或者说被你选中。 有关这些命令的详细说明,不在本文的讲解范围内,有兴趣的朋友可以参考msdn上有关如何创建自定义工程模板的资料,笔者也有兴趣做这方面深入的探索,待有结果后,再会系统的写出有关如何创建自定义工程模板的简易教程,供大家参考交流。 汉化的方法很简单,用UltraEdit打开MFC下的相同文件,这回是采用替换的方法,因为资源中有很多地方是一样的。我们只要替换文字就OK了。MFC的文件中没有的文字,自己做个翻译也不是难事。同时,采用替换是因为可能不只一个地方有这段文字。另一个原因就是MFC与Toolkit Pro的资源文件中,象[!if DOCVIEW && !APP_TYPE_DLG] [!endif]的指令结构已经有了很大的不同,所以替换文字更为安全并且快捷。 最后的说明 至此,我们已经对XtremeToolkitPro作了全部汉化,只差最后一步了,呵呵。那么是什么呢,当然是运行Deploy.exe了。在此再教大家一招,在安装XtremeToolkitPro时运行到Deploy向导时直接退出,然后将汉化好的文件复制到XtremeToolkitPro相应目录下后,再次运行Deploy.exe,那么所有的汉化文件,都会被Deploy.exe复制到Visual Studio的相应目录下。接下来就感受下一切尽是中文的畅快感觉吧!!!呵~~呵呵~。 PS:由于笔者在汉化时,并未了解到相关Visual Studio自定义模板的知识,因此花费了一个白天和一个晚上的时间。——中午也没忙得休息,佩服下自己,呵呵。——另外,在笔者的资源下载中有已经汉化好的文件包,但包中的deploy是手动复制到Visual Studio目录的方式完成的,并不像上述文章中所讲方法,大家可以按包里的汉化说明完成deploy,也可以按本文中所述方法完成,由大家喜好!! 最后欢迎大家就XtremeToolkitPro的问题与我交流,包括文章有说的不对的地方也希望得到大家的指证。 作者:张楠 网名:Summerheart Email:Costware@163.com Blog: http://summerheart.cnblogs.com/ http://blog.csdn.net/SummerHeart 汉化包:http://download.csdn.net/source/424857 注:(2008.06.14) v12.0.0版汉化已经出:http://download.csdn.net/source/496344 注:(2009.12.2) v13.2.1版汉化已经出:http://download.csdn.net/source/1873993 日期:2008年5月6日 PS:本文是作者发表在博客园网站,若是转载,请保留以上版权信息,并注明转自博客园http://summerheart.cnblogs.com/ |
相关文章推荐
- Xtreme Toolkit Pro中文介绍
- 使用xtreme toolkitpro时提示use /Zm to specify a higher limit 错误
- Xtreme.Toolkit.Pro.v9.60 +VC6.0安装使用
- MFC 利用 Codejock XtremeToolkitPro 换肤
- Xtreme ToolkitPro的使用
- MFC中使用Xtreme Toolkit Pro 添加新的工具栏图标
- VS2008添加XtremeToolkitPro向导
- Xtreme.Toolkit.Pro v13.2.1汉化发布
- XTreme ToolkitPro实例之2--BrowseDialog(实现对文件夹的选择)
- VC6.0下Xtreme ToolkitProv13.2做简单MDI界面
- Xtreme.Toolkit.Pro v11.2.1汉化方法
- Xtreme Toolkit Pro 为您构件最强大的用户界面
- Xtreme.Toolkit.Pro v12.1.1汉化 发布
- Xtreme Toolkit Pro v11.2.1 汉化全过程(转)
- Xtreme.Toolkit.Pro v11.2.1汉化方法
- Xtreme.Toolkit.Pro编译简单教程
- C++ 实现多语言程序开发研究与Xtreme ToolkitPro的使用(二)
- Xtreme Toolkit Pro控件下载及使用教程介绍
- C++界面库 - Xtreme Toolkit Pro[转载]
- Codejock Xtreme ToolkitPro v15.0 在HOOK控件后导致滚动条不正常bug及修复