万星星@豌豆荚 欢迎加入我们
一个吃软饭的男人!!!!!我只想写程序####
微博:http://weibo.com/wanlianwen
posts - 172,  comments - 1253,  trackbacks - 0

svn: https://x-framework.googlecode.com/svn/trunk    建议重新下载代码

很久没有在svn上更新这套库里,但自己有时间的时候都在开发增加功能。这次的更新主要是在对activex的支持,一个界面库若想成为框架,必须具备这种包容性,至少flash /webbrowser等主流的控件还是会经常用到的。这一次主要是实现了无窗口的flash、mediaplay和sl插件,实现了mshtml和webbrowser的容纳,参考有vc的sdk和国外对无窗口activex的研究,目前操纵接口仅仅供run,没有深度的wrapper。

还有一件事情就是纠正了之前的错误思想,对chrome的基础库私自做了大量修改导致维护更新很麻烦,目前基本上保持了对应,至少我自己跟踪代码的变更还是比较方便。这个过程中自己学到了很多非技术的东西,技术上也看到了google工程师对设计的精益求精。Chrome对顶层窗口的改造部分,我一直有一些说不出的感觉,代码中说了一堆理由阐述为何在下面预留1px的nc区,但是我在之前没有预留的时候反而更好。

整个工程的结构如下:
x-framework
|
--bin(可执行程序)
|
--examples(示例源码)
  |
  --demos(基础控件展示)
  |
  --desktop(chrome桌面,不知道有何意图)
  |
  --igantt(一个计划的图形产品)
  |
  --net_base_test(暂时无用)
  |
  --status_tray(应用层托盘库,很小)
  |
  --wanui_res(库依赖的资源)
|
--lib(框架库)
|
--library(库源码)
  |
  --base(基础库,标准算法、字符串、内存工具、统计工具、多线程编程工具、窗口API封装、消息泵等)
  |
  --net_base(暂时无用)
  |
  --skia(skia在windows平台使用的基本封装,主要是设备和位图的转换,支持32位位图)
  |
  --third_party(第三方库)
  |
  --ui_base(作为view库的基础,对windows的消息事件等做了一层封装和扩展)
  |
  --ui_gfx(为view库提供更好地图形封装,点线面路径图像支持、坐标转换支持)
  |
  --view(基于windows的顶层窗口对窗口世界的chrome化,兼容无窗口和有窗口的界面引擎,我增加了一些扩展)

一些demo截图:









这些示例尽管一眼看上去并不是那么震撼,局限因素不是技术,目前的问题就是控件数量不够丰富,chrome里面无窗口的控件绘制采用了native主题,当然这或许不是我目前非常看重的,它能给开发者提供的便利性才是我追求的。早期版本我也在正式的项目中采用,使用的过程中,掌握了很多技巧,也走了弯路。对于一个强大的库,如果使用的不好可能反而觉得别扭。
posted on 2011-08-24 19:49 万连文 阅读(5825) 评论(19)  编辑 收藏 引用 所属分类: 小作品

FeedBack:
# re: 基于Chrome开源提取的界面开发框架 三(.2)
2011-08-25 18:25 | nieyanbing
这个框架还真蛮好的 但要是真的去看代码的话,也太多了点   回复  更多评论
  
# re: 基于Chrome开源提取的界面开发框架 三(.2)
2011-08-28 16:34 | wzx
无窗口richedit的例子怎么去掉了啊?  回复  更多评论
  
# re: 基于Chrome开源提取的界面开发框架 三(.2)
2011-08-28 19:32 | 万连文
@wzx
没有去掉啊,在textfiled里面  回复  更多评论
  
# re: 基于Chrome开源提取的界面开发框架 三(.2)
2011-08-28 23:51 | Charm
lib_skia-vc90-mt-sd.lib(bitmap_platform_device_win.obj) : error LNK2019: 无法解析的外部符号 __imp__GdiAlphaBlend@44,该符号在函数 "public: virtual void __thiscall skia::BitmapPlatformDevice::DrawToNativeContext(struct HDC__ *,int,int,struct tagRECT const *)" (?DrawToNativeContext@BitmapPlatformDevice@skia@@UAEXPAUHDC__@@HHPBUtagRECT@@@Z) 中被引用
1>../../bin/net_base_test-d.exe : fatal error LNK1120: 1 个无法解析的外部命令

每个例子都会出现这个错误啊,求大神帮忙哈  回复  更多评论
  
# re: 基于Chrome开源提取的界面开发框架 三(.2)
2011-08-29 08:00 | 万连文
@Charm
请确认library的库都编译成功,准确来说是里面skia工程是否编译成功,如果还是不行,请尝试:

1、GdiAlphaBlend-》AlphaBlend
2、如果还是不行,请在示例工程的链接中加入msimg32.lib  回复  更多评论
  
# re: 基于Chrome开源提取的界面开发框架 三(.2)
2011-08-29 17:50 | Charm
1、GdiAlphaBlend-》AlphaBlend
这个是说把整个工程的GdiAlphaBlend改为AlphaBlend ?  回复  更多评论
  
# re: 基于Chrome开源提取的界面开发框架 三(.2)
2011-08-29 18:46 | 万连文
@Charm

更具MSDN:GdiAlphaBlend == AlphaBlend ,所以你可以这么做,不过我这边是没有问题,也没有人提起过这个问题,所以我不是很确定你那边发生了什么。  回复  更多评论
  
# re: 基于Chrome开源提取的界面开发框架 三(.2)
2011-08-30 00:40 | Charm
@万连文
谢谢大师哈,修改后确实可以了,有例子就可以好好研究代码了,呵呵,谢谢哈  回复  更多评论
  
# re: 基于Chrome开源提取的界面开发框架 三(.2)
2011-08-31 11:16 | ces
能用chromium样式的标签页吗?
  回复  更多评论
  
# re: 基于Chrome开源提取的界面开发框架 三(.2)
2011-08-31 12:40 | 万连文
@ces
标签页属于browser层,目前正在向办法做一个实例,因为耦合太重,可能需要一些时间。  回复  更多评论
  
# re: 基于Chrome开源提取的界面开发框架 三(.2)
2011-08-31 17:45 | ma
哥哥,启动时出错,咋回事
[0831/173749:FATALFATAL:c:\users\x-framework\library\ui_base\resource\resource_bundle.cpp(356)] Check failed: locale_resources_data_ != NULL. unable to load generated resources

这个断点,一直为空,不晓得啥子没加载到  回复  更多评论
  
# re: 基于Chrome开源提取的界面开发框架 三(.2)
2011-08-31 18:38 | 万连文
@ma
需要编译那个wanui_res资源文件  回复  更多评论
  
# re: 基于Chrome开源提取的界面开发框架 三(.2)
2011-09-01 09:24 | ma
@万连文
恩,对的。谢谢。
  回复  更多评论
  
# re: 基于Chrome开源提取的界面开发框架 三(.2)
2011-09-01 14:38 | ces
@万连文
加油啊,高手!  回复  更多评论
  
# re: 基于Chrome开源提取的界面开发框架 三(.2)
2011-09-01 14:41 | ces
如果像chromium打开about:about,chrome://extensions/一样打开你的tab页就更好了  回复  更多评论
  
# re: 基于Chrome开源提取的界面开发框架 三(.2)
2011-09-01 16:06 | 万连文
@ces
目前正在做相关的事情,会做一个最小chrome界面框架子集。  回复  更多评论
  
# re: 基于Chrome开源提取的界面开发框架 三(.2)
2011-09-01 16:28 | ces
@万连文
期待啊
  回复  更多评论
  
# re: 基于Chrome开源提取的界面开发框架 三(.2)[未登录]
2011-10-21 09:34 | bingo
chrome应该有scroolbar吧,动画这个蛮好没有scrollbar的话太别扭了  回复  更多评论
  
# re: 基于Chrome开源提取的界面开发框架 三(.2)[未登录]
2011-11-04 13:40 | ll
想看看源代码不知道怎么下载!!  回复  更多评论
  

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


简历下载
联系我

<2009年3月>
22232425262728
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(66)

随笔分类

随笔档案

相册

搜索

  •  

最新评论

阅读排行榜

评论排行榜