WinCEUI库开发实践.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
WinCEUI库开发实践

WinCE UI库开发实践(1)【原创】 WinCE UI库开发实践(1) 【原创】by ucdragon_wkx WinCE平台下应用开发最麻烦的还是UI部分。与windows平台不同,windows平台有大量的皮肤控件,程序美观不在话下。而wince根本没有合适的UI库,网络上根本找不到,所以编制比较美观的界面,是一个头痛的事情。默认的wince控件都是灰色的,拿来做产品难堪大用。如果仅仅是一个应用,可能窗口数不多,那么每个窗口进行绘制还是一个选择。但是窗口数多了,这就是一个难以忍受的工作了,每个按钮,图片,text都要在paint事件中写代码,而且各个窗口都不同,这个工作简直不是人干的。 1 扩展标准控件 怎么办呢?有一个选择方案,就是对现有控件如CButton等基类进行扩展,实现贴图自绘功能。这样做可以实现图片按钮,透明文字等一些常用控件,但是对其它一些控件难以实现,比如自绘list,想要自定义自己的滚动条,是没有正常办法的(当然有些偏门的方法,比如用SetWindowRgn切掉滚动条,再换上自己的,但是再想进一步扩展就困难了),因为list的滚动条是内部滚动条,微软没有暴露接口去改变它。还有listview控件长按会出现一个点圈。所以这种方法有很大的缺憾。 还有一个很大的问题,就是窗口控件绘制不同步的问题。wince不同于pc,使用多个控件时,内核在绘制时是一个控件接着一个控件进行的,有先有后,窗口是一块一块刷新的。因为pc上cpu速度快,整个绘制过程很快就结束了,所以看起来就是整个窗口一下就刷新了。但是wince里,主芯片主频通常是不够快的,这个现象就很明显,图片,按钮和列表先后出来,对商用产品来说效果很差,只能在美工上想些办法,让不同窗口的颜色尽量一致,变化小些,这样让用户看得不明显。但是这是不得已办法。 2 实现自己的UI库 绞尽脑汁,最终还是回到老路上,只能自己画。但是不能自己在每个窗口用代码画,太累。最好通过配置就实现按钮,图片,列表,文字,滚动条的自动绘制。想法有了,下面就是动手了。这是一个积累的过程,经过长达1年多的时间,这套UI库终于成熟,实现了用配置文件定制UI的功能。可以实现多语言和多皮肤实时切换,不会有闪烁。 界面示例: image001.png (23.98 KB) 2008-11-22 11:47 image003.png (30.31 KB) 2008-11-22 11:47 image005.png (31.54 KB) 2008-11-22 11:47 image007.png (33.35 KB) 2008-11-22 11:47 image009.png (14.75 KB) 2008-11-22 11:47 image011.png (32.58 KB) 2008-11-22 11:47 image013.png (23.7 KB) 2008-11-22 11:47 配置文件示例:截取部分 [TV] RectBox={0,0,272,183} RectSignalPic={261,213,41,18} RectFrame={47,0,203,183} RectFrameBody={55,8,186,173} SkinString={ BG tv_bg 0,0,320,240 TEXT ProgramText??255,255,255 14 400 225,191,100,18 CENTER SINGLELINE VISIBLE TEXT HintText Loading... 255,255,255 28 800 0,81,272,183 CENTER MULTILINE VISIBLE TEXT IC1SignalText??150,150,0 12 100 232,230,40,12 RIGHT SINGLELINE INVISIBLE TEXT IC2SignalText??140,140,255 12 100 275,230,40,12 RIGHT SINGLELINE INVISIBLE PICTURE SignalPic tv_signal OPACITY 251,213,0,18 NORMAL VISIBLE PICTURE ChargePic tv_charge OPACITY 5,205,10,22 NORMAL INVISIBLE PICTURE Powercell1Pic tv_powercell OPACITY 6,222,8,4 NORMAL INVISIBLE PICTURE Powercell2Pic tv_powercell OPACITY 6,217,8,4 NORMAL INVISIBLE P

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档