- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VxWorks系统下基于WindMLご翱诨图形界面设计
VxWorks系统下基于WindMLご翱诨图形界面设计
摘要摘要:介绍了VxWorks系统及WindML,说明了基于WindML的窗口设计原理,重点阐述了窗口用户图形界面设计方法,讨论了一些主要窗口部件设计原理及思路,给出了一些具体代码示例。
关键词关键词:VxWorks;图形界面;窗口部件
DOIDOI:10.11907/rjdk.143925
中图分类号:TP316.7
文献标识码:A文章编号文章编号2015)002004203
基金项目基金项目:2014年度河南省重点科技攻关项目(142102210499)
作者简介作者简介:吴秀才(1980-),女,河北衡水人,河南理工大学万方科技学院公共基础课教学部讲师,研究方向为应用数学;李瑞斋(1980-),女,河南南乐人,硕士,郑州大学西亚斯国际学院数理学院讲师,研究方向为概率统计;周健(1964-),男,硕士,河南郑州人,郑州大学西亚斯国际学院数理学院讲师,研究方向为物理教学。
1VxWorks概述
VxWorks系统是美国Wind River公司于1983年设计开发的一种嵌入式实时操作系统,它以卓越的可靠性和实时性被广泛应用于通信、军事、航空、航天等高技术领域 [1]。其内核具有很强的可裁剪性, VxWorks提供了WindML组件用来开发资源消耗较小的图形界面,提高了系统的易用性,满足了对系统界面有要求的用户需求。
本文以Works5.5及其开发环境tomado2.2和组件WindML3.0为基础介绍了窗口化图形界面的设计。
2WindML概述
风河多媒体库[2]WindML(Wind River MUlti-media Library)支持在嵌入式系统上运行多媒体应用程序,提供基本的图形、视频、音频技术及标准设备驱动程序框架,其APl库提供了图形硬件接口和处理输入输出设备事件的能力。
WindML提供了软件开发包(SDK)和驱动程序开发包(DDK)两个组件。SDK用于开发应用程序,提供了用于图形、输入处理、多媒体、字体、内存管理的API库。DDK用于实现驱动程序,可扩展和自定义。
3窗口化图形界面程序设计原理
3.1基本概念
WindML图形设计中的一些基本概念类似于常见的Windows系统下的Visual C++编程,如窗口实例、窗口类等,也有其特有的,如窗口管理器。一个窗口实例即一个可见的矩形窗口对象(包括带框架的普通窗口、无框架窗、窗口部件等)。通过设定其对应属性,可以实现移动、调整大小、重叠、包含于另外窗口的操作,通过编写回调函数,可以响应各种消息,与输入设备、其它窗口、应用程序进行互动。
窗口类定义了具有同样属性的某一类窗口,用于定义窗口部件,通过预先定义,这些窗口部件具有了特殊属性、能力或默认数据。窗口类的源文件在编写过程中,需要编写消息处理器。消息处理器类似消息回调函数,用来响应消息,作出相应反应。消息处理器与回调函数不同之处在于前者关联于窗口类,后者直接关联于某一个窗口实例,并且在编写回调函数时,将其返回值设定为UGL_STATUS_ FINISHED, 可以无视类的消息处理器,使消息不再进一步处理。
窗口管理器由多个源文件组成,包括窗口类文件、资
源预定义文件等,预定义了一些必要的资源和一些基本窗口类。窗口管理器类似设备驱动程序,为窗口应用程序的设计提供了方便的接口。合理利用窗口管理器可以在程序开发过程中提高效率,节省精力。WindML3.0提供了一个基本的窗口管理器WWM(WindML Windows Manager),封装了16种颜色、光标图形、3种字体,以及根窗口、框架类、按钮类、任务栏按钮、任务栏菜单等资源,可以直接使用。设计者可以灵活地自定义窗口管理器,以实现功能扩展。原则上WWM文件禁止更改,因为任何之后的WindML重装、升级、补丁安装等都可能覆盖原来的文件[3],所作的修改也会丢失。因此最好的方法是新建一个窗口管理器。最简易的方法是以原WWM的副本为基础进行创建,大致过程为:在installDir/target/h/ugl/winMgr和installDir/target/src/ugl/winMgr下分别新建自定义的管理器目录,复制原wwm目录下的源文件到新目录,再修改WindML数据库配置文件即可,之后可任意修改窗口管理器文件夹内的源文件,添加新窗口类文件。
3.2窗口创建步骤
WindML的2D图形库提供了基本的绘图操作和字体、位图、光标、颜色、区域等管理器,窗口库以2D图形库为基础,封装了用于窗口操作的API,利用它们创建基本的矩形窗口,不足之处是窗口过于简单,而且没有常用功能的窗口
文档评论(0)