官网:
http://www.beyondata.com/
GUIToolkit
http://www.codeproject.com/KB/library/guitoolkit.aspx?display=PrintAll&fid=4311&df=90&mpp=25&noise=3&sort=Position&view=Quick&fr=251
http://www.shengfang.org/blog/p/20080804GUITOOLKITstaticlib.php
http://www.shengfang.org/blog/p/20080804vcinterface.php
上面网址总结了很多东西.
GuiToolkit, MFC界面扩展库, 个人作品, 非常棒的类库, 完全free.
官方网站是 http://www.beyondata.com/default.htm
从预编译的二进制例子来看, GuiToolKit已经实现了一个完整而复杂界面的解决方案, 接近于很多商业的库, 如BCGControlBar. 可惜由于个人作品的关系, 几乎没有文档和技术支持(如果有的话, 岂非太完美了).
从得到的完整的源码来看, 在VC6下编译稍需修改一下,
1)头文件需要在VC中被检索到, 所以在VC Option中增加GuitoolKit/SourceCode/Personal/ExtLib/Header
2)原有的工程依赖关系不对,全部去掉即可.
3)import语句#import "Program FilesCommon FilesSystemADOmsado15.dll" 缺少驱动器符指示
4)在GuiFramWnd.h中包含的系统文件AFXIMPL.H路径不对, 将之从系统的MFC/SRC目录拷贝的ExtLib/Header即可.
基本上这样处理后,就可以正确编译大部分的例子代码了.
上篇文章文不对题的写了些废话,今天就言归正传。因为现在一直在进行MFC程序的编写,所以就具体说一下在VC6.0下使用第三方界面库的过程和感受。
目前,第三方界面库的种类很多,我从网上查了下,大致有Xtrme toolkit,BCGControlBar,SkinMagic,AppFace,Skin++,Uskin++,SYGUI,LibUIDK,GuiToolkit,GardenUI等等,除了后两种一个是开源,一个是免费的外,其余的都是收费的。
这其中的界面库,Xtrme toolkit是实验室一直在使用的库,这个库是非常有名的集专业和美观于一体的界面库,功能非常强大,可以说是一款重量级的界面库。但是在强大的背后,也有很多烦恼,该库中几乎所有的类都继承于MFC原有的基类,在原有特性的基础上增添了许多新的特性,但是当在程序中不需要这些特性的时候,如果对该库不熟悉或是对MFC程序的编写不是很熟悉的话,就会吃很多苦头,而且还会增加程序的臃肿性。毕竟在使用第三方库的时候,我们都是希望越简单方便越好,不用在这上面花很多精力,把精力都集中在算法的实现上。因此,该库的使用对于新手或是对MFC界面编写不是很熟悉的人来说,可能会是一件不那么容易的事情。
在我改造界面的过程中,考虑到该平台的界面不需要那么多的特性,只需要美观、可用性好一些就可以,再加上实验室的很多平台都是用Xtrme toolkit编写的,几乎看起来都是一样的脸。所以基于以上的原因,我开始寻找其它的相对轻量级又不失美观的库。于是我找到了比较合适的GuiToolkit。
GuiToolkit是一款比较实用的开源界面库,它提供WindowsXP样式的显示界面,相比Xtrme toolkit, 我觉得该库是一款轻量级的界面库。对界面要求不是非常高,但又追求美观效果的,可以考虑使用该库。由于该库是开源的,自己可以根据需要增加需要的特性,也 可以删减不需要的特性,但是说句实话,这也不是一件很容易的事情。因此对于需要方便使用的人来说,可以从该库提供的例子中来找到自己需要的模板样子,然后 修改成自己希望的样子。这样子的话,对只希望简单使用该库的人来说,就变得方便快捷许多。
下面就介绍下如何将GuiToolkit添加到自己的工程当中。
1、下载到GuiToolkit之后,将GuiLib工程编译,分别生成release和debug版本的dll和lib文件。
Release版本的dll和lib:GuiTk115.dll GuiTk115.lib
Debug版本的dll和lib:GuiTk115d.dll GuiTk115d.lib
2、将GuiTk115.dll GuiTk115d.dll分别拷贝到工程的Release和Debug版的生成可执行文件的文件夹下。
3、将GuiTk115.lib和GuiTk115d.lib拷贝到自己工程的lib文件夹下,然后分别通过VC6.0的选项Project->Settings->link添加到工程当中,并在Iuput选项下,设定好lib的文件路径。
4、将Guilib的头文件拷贝到自己工程的Include文件夹中。
当然,也可以通过VC6.0的选项Tools->Options->Directories设定Include和lib。
经过以上的步骤以后,自己的工程编译应该就没问题了。一开始,我还是建议用GuiToolkit提供的例子来进行编译,成功以后,自己就可以根据需要,参考例子,编写自己的界面了。希望该文对第一次使用GuiToolkit的朋友有所帮助。