天天玩游戏盒子の总结

大家好,我决定把天天玩的测试版总结出来,希望给初学者帮助。

测试版跟今天的发布版有什么不同呢?测试版使用了DirectUI渲染,而发布版使用了类似Emule的渲染。
我在这先把原因说清楚了,DirectUI渲染方式移植到MFC中使用,会有很多问题出现,例如画图计算量大,因为DirectUI是采用计算字符串如何画图的。和win7等以后的系统版本渲染不兼容,会出现很多渲染bug。唯一的好处就是,渲染方便,可以换图以及调整对比色,但不能牺牲性能换取效果,所以,在MFC中采用DirectUI渲染方式是错误的。

采用DirectUI渲染从一开始就设计出错了,年轻的同事又那么自以为是,所以我看了很多开源项目,发现自己很多的不足,对于初学者,看开源项目是最直接的成长,虽然代码思想是继承别人的,但是我们可以衍生很多新的技术。



下面,我来讲解下天天玩测试版源码分析。
天天玩是一个在网页上玩在线游戏的盒子,盒子是采用MFC框架,测试版是采用继承相关控件自绘的,发布版是采用自绘(不是系统自带的),但IE控件是继承CHtmlView,说白了,天天玩就是一个简单的ie游览器,没啥技术含量,不过适合初学者认识MFC以及相关控件。

天天玩项目树如图:

Web控件,CHtmlCtrl 继承了 CHtmlView ,实现了js调用,拦截广告(采用返回指定容器屏蔽广告),刷新,加载完成判断,以及界面效果属性设置。

共同文件下,定义了头信息,以及事件控件id等信息。

基类窗体,采用双缓冲绘图,所以我把双缓冲写到了基类中,子类自绘自行绘画就行。

头文件里,就是包含了相关对话框以及相关控件。

请求,向服务器发送信息。

控件,定义了很多自绘控件。

文件,ini文件操作。

渲染,采用了DirectUI渲染。

实现非常简单,不懂的就看源码。
希望大家以此为鉴,项目开始一定要把相关框架熟悉,否者到头来bug多得你无法想像。


源码包




评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值