随笔-341  评论-2670  文章-0  trackbacks-0
GacUI
显卡加速的C++GUI类库
GacUI 0.4.0.0 发布啦      摘要: 昨晚终于发布了GacUI 0.4.0.0,也就是第五个release了。现在GacUI的源代码可以在三个地方找到,分别是:
Codeplex:http://gac.codeplex.com
Github:https://github.com/vczh/gac
主页:http://www.gaclib.net

这两个月在开发GacUI的对象的反射系统之外,一直在做Windows 8的皮肤。现在的GacUI已经拥有了两个皮肤,一个是模仿Windows 7的,另一个是模仿Windows 8的。GacUI在启动的时候,会根据Windows的版本来自己选择要用哪个皮肤做缺省皮肤。使用g::NewXXX()函数创建的控件都会直接使用当前的皮肤(如果没有用SetCurrentTheme替换掉的话,就是缺省皮肤)来创建控件,否则,直接new控件类的话,要传入一个创建好的皮肤对象。
  阅读全文
posted @ 2012-10-18 22:16 陈梓瀚(vczh) 阅读(3749) | 评论 (7)  编辑
GacUI Demo:简单文本列表操作
posted @ 2012-05-23 04:42 陈梓瀚(vczh) 阅读(2328) | 评论 (4)  编辑
GacUI Demo:文本框高亮(二)
posted @ 2012-05-17 09:03 陈梓瀚(vczh) 阅读(2183) | 评论 (2)  编辑
GacUI Demo:文本框高亮(一)
posted @ 2012-05-11 08:58 陈梓瀚(vczh) 阅读(3237) | 评论 (1)  编辑
GacUI Demo:文本框基本应用
posted @ 2012-05-05 02:37 陈梓瀚(vczh) 阅读(5285) | 评论 (5)  编辑
GacUI Demo:标签页
posted @ 2012-04-30 23:28 陈梓瀚(vczh) 阅读(2015) | 评论 (2)  编辑
GacUI Demo:多选框和单选框
posted @ 2012-04-27 06:02 陈梓瀚(vczh) 阅读(2244) | 评论 (25)  编辑
GacUI新Demo:按钮和排版
posted @ 2012-04-25 02:46 陈梓瀚(vczh) 阅读(2333) | 评论 (5)  编辑
GacUI开源了!
posted @ 2012-03-24 02:31 陈梓瀚(vczh) 阅读(4332) | 评论 (7)  编辑
合并Visual Studio本地C++XML注释文档和PDB的符号内容      摘要: 终于到了激动人心的时刻了。今天的博客内容将永远消除Visual Studio的本地C++XML注释编译出来的XML文档没有办法生成可读文档的根本原因。

首先介绍一下C++的XML注释。在启用注释之前,我们必须先去工程属性里面,把[C/C++ -> Output Files -> Generate Xml Documentation Files]设置成Yes。这样我们就可以在C++的类啊函数上面写XML注释,然后被编译成一份带有符号链接的XML注释集合。这里先给一个GacUI的XML注释的例子:  阅读全文
posted @ 2012-03-09 17:04 陈梓瀚(vczh) 阅读(6762) | 评论 (7)  编辑
使用VS API开发一个PDB Dumper并且可以在没装VS2010的计算机上运行      摘要: GacUI到了撰写文档的时候了。虽然GacUI本身的功能还没有全部完成,但是发布一个alpha版还是可以的。因此GacUI需要一份文档。自从.net语言支持XML注释生成文档之后,Visual Studio的本地C++也支持使用XML注释了。只要打开了[工程属性 -> C/C++ -> Output Files -> Generate XML Documentation Files]之后,Visual Studio会在编译本地C++工程之后,将所有的XML注释收集起来,放在和可执行文件同一个目录下的里面。然后我就尝试bing了一下有没有从C++的XML文档生成可读文档的工具,结果发现只有.net才支持。

后来我稍微研究了一下(详细内容将会在下一篇博客透露),发现之所以没人写这个工具,是因为只有.net的可执行文件才包含足够多的元数据,而且这些元数据是必须的,否则无法生成一个完整的文档。举个例子,虽然包含了xml注释和该注释所在的符号,但是却没有包含该符号的结构信息。结果你试图生成一个函  阅读全文
posted @ 2012-03-09 14:43 陈梓瀚(vczh) 阅读(7005) | 评论 (0)  编辑
最终还是决定直接以源代码方式发布GacUI了      摘要: 在制作GacUI读pdb生成代码的过程中,感受到了C++语言设计和dll的需求之间的鸿沟。对于一个充分利用了C++各种功能的类库来说,制作成dll具有非常大的困难,特别是在函数返回POD(Plain Old Data)的引用,和输入输出带有泛型的类上面。所以现在还是决定以源代码的方式来发布GacUI。但是pdb生成代码并没有白做,因为反射还是存在的。但是因为GacUI一共有48000行代码,80多个源代码文件,直接发布使用起来总是不方便。所以我写了个小工具,根据xml的配置来将源代码合并成少数几个比较大的代码文件。这样使用的时候,只需要直接把几个cpp拖进工程里面,就可以使用了。而且根据之前发布的一个投票,似乎大家也最喜欢这种方法。因此这次的决定,仅仅删掉了作为backup plan的dll方法。

这里我给出小工具的代码和配置文件。这个配置文件是基于GacUI做出来的,不过大家可以修改它,以便用于自己的工程上面:  阅读全文
posted @ 2012-02-29 05:34 陈梓瀚(vczh) 阅读(4003) | 评论 (9)  编辑
C++反射实现方法设想(GacUI)
posted @ 2012-01-11 03:39 陈梓瀚(vczh) 阅读(8749) | 评论 (7)  编辑
圣诞节完成ListView和TreeView
posted @ 2011-12-25 06:08 陈梓瀚(vczh) 阅读(3338) | 评论 (15)  编辑
ListControl添加坐标轴变换功能
posted @ 2011-12-15 07:08 陈梓瀚(vczh) 阅读(2381) | 评论 (7)  编辑
GacUI支持菜单
posted @ 2011-11-12 23:27 陈梓瀚(vczh) 阅读(3206) | 评论 (9)  编辑
GacUI项目正式启动
posted @ 2011-10-22 19:34 陈梓瀚(vczh) 阅读(5058) | 评论 (14)  编辑