RTGUI控件对象的管理机制-WelcomtoRTGUI.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Welcom to RTGUI 这是一篇引导学习RTGUI 的文章。 RTGUI 是使用C 语言编写的,文中也尽量使用C 语言来描述。 由于RTGUI 的设计架构经常发生变化,所以文中不会涉及架构方面的内容,这并不 妨碍学习,很多内容并不依存于 GUI 架构。 对于没有太多 GUI 概念的人来说,阅读时可能会遇到一些不明白的地方,建议不妨 试着读下去,或许后面会有答案。 要想了解代码的功能,必须先弄清楚它的数据结构。 Let s go 第一章 RTGUI 控件对象的管理机制 RTGUI 使用标准ANSI C 来组织代码。 就意味着它拥有很好的移植性,也降低了 学习它的门槛,只要在课堂上学习过C 语言的知识,都可以读懂RTGUI 的代码。如果你 觉得基础不够好,没关系,这篇文章或许能够给你一些参考。 RTGUI 使用了对象的概念来管理所有数据。 GUI 是在显示器上使用图形的方式与人进行交互的接口。简单的划分,可以将 GUI 程序分为创建与管理图形和提供交互手段两大功能。 在对象模型中,虽然每一种对象都拥有自己的特征和行为,但是有时候很多对象的一 些特点都是相同的,使用这些 同特性设计出公 对象,然后再派生出新对象, 样既 拥有 同特性,也有个性的特点。使用对象的概念编程,可以让代码变得有条理,更符 合思维逻辑。 种设计思想被广泛的应用到对象设计程序当中。 RTGUI 程序也使用了 种设计思想。 RTGUI 使用 struct rtgui_obj ect 个对象来管理所有控件对象的创建与销毁工作,并 以rtgui_obj ect 为基础,派生出了所有的控件对象。 下面会分为 两个部分介绍RTGUI 的控件模型,重点讲述object 、widget 、container 和toplevel 4 个对象,之所以关注它们,是因为它们拥有的一些特性,使其在RTGUI 当中担任了一些重要角色。它们撑起了RTGUI 的控件管理架构,其他对象或控件基本上 都是 4 种对象的派生体或衍生对象。虽然随着版本的发展,可能会产生其它的类型代 替它们,或者拥有新的功能。但是遵循的原理是基本相通的。 一.RTGUI 控件对象的创建与销毁 控件是将一些数据和有关的方法封装在一起,可与用户产生互动行为的一些图形化 元素。所以控件具有可操作性,可以产生不同的行为。 不同的控件拥有不同的数据结构。在RTGUI 中使用一种控件类型管理机制来区分不 同的控件对象。让人们更方便的使用它们。 下面分析 个控件类型管理机制是如何运作的。 RTGUI 中有一个数据结构rtgui_type ,其定义如下所示: 0.4 版中的定义形式: /* rtgui type structure version 0.4*/ struct rtgui_type { /* type name */ char* name; /* hierarchy and depth */ rtgui_type_t **hierarchy; int hierarchy_depth; /* constructor and destructor */ -1- Welcom to RTGUI rtgui_constructor_t constructor; rtgui_destructor_t destructor; /* size of type */ int size; }; 1.0 版中的定义形式 /* rtgui type structure version 1.0*/ struct rtgui_type { /* type name */ char* name; /* parent type link */ struct rtgui_type *parent; /* constructor and des

文档评论(0)

docindoc + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档