手机操作系统第七章控件和对话框(北京邮电大学).ppt

手机操作系统第七章控件和对话框(北京邮电大学).ppt

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

第七章 控件和对话框 邹仕洪,博士 网络与交换国家重点实验室 宽带网研究中心 zoush@ /~ZouShihong 主要内容 简单控件 CCoeControl概述 控件的初始化 控件的重绘 用户输入处理(按键事件) 复合控件 常用控件 对话框 表格 资源 菜单 软键 热键 网络与交换国家重点实验室宽带网研究中心 windows server 网络与交换国家重点实验室宽带网研究中心 windows 网络与交换国家重点实验室宽带网研究中心 CCoeControl 可以作为视图的基类 传统的EIKON视图架构-container dialog 负责应用程序视图区域的显示工作 一个应用程序的界面分为三部分 标题栏 软键区域 应用程序视图区域(右图的黑框部分) 使用CGraphicsContext进行画图 在UI平台能力范围内工作(如:60系列) 系统提供的常用控件有 按钮 编辑器 文本标签 列表框 可以内嵌其它控件(又称定制控件,或者复合控件) 网络与交换国家重点实验室宽带网研究中心 CCoeControl 所有对屏幕的操作都是在控件上进行 控件从CCoeControl继承而来 控件是屏幕上的一个矩形区域 控件占据窗口的全部或者部分 应用程序的视图使用至少一个控件 控件可以处理用户的输入事件 键盘事件 鼠标事件 网络与交换国家重点实验室宽带网研究中心 CCoeControl 是所有控件的基类 被派生类直接调用的函数 SetRect() CreateWindowL() 被派生类重载的函数 OfferKeyEventL() Draw() 所拥有的函数可以分为以下三类 初始化 Drawing 用户输入处理 网络与交换国家重点实验室宽带网研究中心 初始化 class CAbcContainer : public CCoeControl { public: // Constructors and destructor void ConstructL(const TRect aRect); ~CAbcContainer(); private: // Functions from base classes void SizeChanged(); void Draw(const TRect aRect) const; }; void CAbcContainer::ConstructL(const TRect aRect) { CreateWindowL(); SetRect(aRect); ActivateL(); } 网络与交换国家重点实验室宽带网研究中心 Drawing virtual void Draw(const TRect aRect) const; 负责产生控件的图形化外观 重要提示 基类中的该函数为空,在派生类中如果不实现该函数的话控件将不可见 该方法由应用程序框架调用,不要自己调用该函数 方法是const,意味着你在Draw()中不能更改任何成员变量,或者调用任何不是const的函数。 该函数不允许leave,因此你必须用TRAP封装可能leave的函数 网络与交换国家重点实验室宽带网研究中心 Draw() void CAbcContainer::Draw(const TRect aRect) const { CWindowGc gc = SystemGc(); gc.SetPenStyle( CGraphicsContext::ENullPen ); gc.SetBrushColor( KRgbDarkBlue ); gc.SetBrushStyle( CGraphicsContext::ESolidBrush ); gc.DrawRect( aRect ); //gc.Clear() } 网络与交换国家重点实验室宽带网研究中心 图形设备接口GDI 抽象类CGraphicsContext(图形上下文)定义了一致的接口 派生类CWindowGc和CFbsBitGc具体实现了这些接口 可以直接使用CFbsBitGc绘图,但不推荐: 网络与交换国家重点实验室宽带网研究中心 推荐的绘图方式 建议在程序中使用CWindowGc提供的接口 网络与交换国家重点实验室宽带网研究中心 图形上下文 CWindowGc SystemGc() const用来获取当前的图形上下文 提供了许多有用的绘图函数 画点、线、椭圆、矩形、位图等等 改变画笔/画刷的颜色和风格 改变字体 设置裁剪区域,原点 在某一时刻CWindowGc只能由一个窗口激活 void Activate(RDrawableWi

文档评论(0)

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

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

1亿VIP精品文档

相关文档