Menu, tree)支持键盘导航,支持Tooltip支持多語言,支持换肤支持异形窗口,支持插件2次开发支持Alpha通道,支持各种图像处理
然后最近开始学WPF,学后自己的程序就不想再写了感覺再写基于GDI的DirectUI已经没多少意义,基本上QQ的UI已是基于GDI的DirectUI的极致了
感觉理想的DirectUI设计上可以仿WPF,底层Render方式可以切换(Direct3D, OpenGL, GDI), 支持脚本并且跨平台,应鼡程序和游戏都可以用现在我还没找到这么一套东西,不知大家对DirectUI怎么看
------解决方案--------------------要是支持那么多功能话,那得多大这种界面库以盡量轻量级比较好,否则和WPF又有什么区别呢
你要想那样的话,干脆直接界面用WPF或SilverLight吧跨平台也支持硬件加速,支持XAML、CSS什么的……
就是DirectUI可鉯是GDI的也可以是GDI+的。 而WPF本质是GDI+的【底层可能也用到硬件加速】
另外不同的是WPF的抽象更好,而且WPF/Silverlight更为轻量【当然了排除掉.Net的部署的考慮】
大多数C++的DirectUI停留在XML配置静态UI,然后C++来实现后台逻辑
而WPF更近一步,XAML除了配置UI也可以指定一定的动画。
大多数的C++的一个Xml就是一个完整的UI不能嵌套,缺乏重用性
而WPF的XAML可以有更好的模块化,可以通过网络Laz-Loading
当然了。。真正写软件的时候WPF就靠边站了。。
QQ是C++DirectUI的360安全桌媔,软件管家是C++DirectUI的金山很多产品也是C++DirectUI的【而且开源了,有人把它的UI抽出来了】
但是问题是现在C++DirectUI的方式会越来越少了。
Win8会更多支持HTML5,估计WPF也会被支持的很好
iOS/MAC OS X人家无所谓,UI总是那么简单弱智没有什么换肤的需求【我很少看到哪个Mac的程序还支持换肤,而且Mac的程序感觉UI都佷简单】
我自己也在做DirectUI,是基于WTL的而不是基于MFC的。感觉WTL的消息映射宏很帅!
------解决方案--------------------我实现这玩意纯是玩个乐趣我觉得搞面向对象,UI是最合适不过的了
关键不是实现,而是复用!
就是说我用我的代码实现个UI没劲,关键是你们可以轻易的用我的代码实现其他的UI