第九章 IDisplay使用简介

一、主要内容

(1)、介绍IDisplay的主要功能

(2)、介绍在IDisplayz中常用的一些接口

二、IDisplay概貌

(1)、利用IDisplay可以完成如下功能:

(a)、书写文字

(b)、画图

(c)、画直线

(d)、一些简单的几何图形

(2)、如果您要想画一些复杂的几何图形或线,您只好求助于IGraphics 接口了

(3)、允许对于设备的背光灯和Annunciators进行控制

三、IDisplay 用户手册

(1)、由于IDisplay会被所有的应用用到,在使用过程中无需我们再显式的去创建,系统会自动建立它

(a)、清除整个屏幕或一个特定的区域以为后续的操作服务

(b)、在屏幕上画出自己想画的内容

(c)、利用IDISPLAY_Update()或IDISPLAY_UpdateEx() 来刷新屏幕,以使得您刚才的操作为用户所见

(2)、当不再使用IDisplay接口时,调用IDISPLAY_Release() 来释放该接口。对于这个接口而言,系统会自动对其进行释放,故我们无需再显式对其进行释放

四、IDisplay函数列表

IDISPLAY_DrawText()

IDISPLAY_MeasureText()

IDISPLAY_MeasureTextEx()

IDISPLAY_GetFontMetrics

IDISPLAY_DrawRect()

IDISPLAY_FillRect()

IDISPLAY_DrawHLine()

IDISPLAY_DrawVLine()

IDISPLAY_SetColor()

IDISPLAY_ClearScreen()

IDISPLAY_Backlight()

IDISPLAY_SetAnnunciators()

IDISPLAY_BitBlt()

IDISPLAY_Update()

IDISPLAY_UpdateEx()

五、与写文字相关

(1)、IDISPLAY_DrawText()

Flags:  IDF_ALIGN_LEFT,IDF_ALIGN_RIGHT, IDF_ALIGN_CENTER

IDF_ALIGN_TOP, IDF_ALIGN_BOTTOM, IDF_ALIGN_MIDDLE

IDF_TEXT_UNDERLINE,IDF_TEXT_TRANSPARENT,

IDF_TEXT_INVERTED……

(2)、IDISPLAY_MeasureText()

给定一个字符串及其显示字体,获得显示它所需要的象素的数目

(3)、IDISPLAY_MeasureTextEx()

除了IDISLAY_MeasureText()能完成的功能外 , 给定宽度(如屏幕的尺寸)还能获得它可以显示的字符数

(4)、IDISPLAY_GetFontMetrics()

获得指定字体在显示时的尺寸信息

六、Font Metrics

Int IDISPLAY_GetFontMetrics(IDisplay * pIDisplay, AEEFont Font,

int * pnAscent,int * pnDescent);

七、IDisplay例子

八、IDisplay使用中的常见错误

(1)、在使用字符串以前,一定要保证字符串是 “AECHAR”的形式

(2)、您需要调用IDISPLAY_Update()来刷新屏幕,否则您的文字和别的一些写画操作将不为用户所见

九、IDisplay使用注意事项

(1)、显示文字:不支持换行,需开发者手动设置

(2)、绘制线条:只能绘制水平或垂直的线,且仅能绘制黑色的线条

十、复习要点

(1)、IDisplay所能提供的功能

(2)、利用IDisplay如何来完成文字的显示

十一、问题回顾

(1)、为什么有时在使用一个字符串之前,需要将以 “char *” 形式表示的字符串转化成 以AECHAR 形式表示的?

(2)、为什么有时候所做的操作在屏幕上并没有显示出来?可能是什么原因?

20110510 Brew工程师培训笔记——第九章 IDisplay使用简介相关推荐

  1. 20110510 Brew工程师培训笔记——第十章 IDisplay使用简介

    第十章 IMenuCtl 使用简介 一.主要内容 (1).描述IMenuCtl控件的类型,所能提供的操作以及重要属性 (2).启动事件代理机制 (3).利用IMenuCtl进行程序开发 二.IMenu ...

  2. 《Go语言圣经》学习笔记 第九章 基于共享变量的并发

    <Go语言圣经>学习笔记 第九章 基于共享变量的并发 目录 竞争条件 sync.Mutex互斥锁 syn.RWMutex读写锁 内存同步 syn.Once初始化 竞争条件检测 示例:并发的 ...

  3. 忘却的纪念:我的摩托罗拉3G网络工程师培训笔记

    6年前我报名参加了摩托罗拉研究院主办的3G移动网络工程师培训简称MCNE,当时3G牌照尚未下发,3G这个概念更不为人所知.我可能是这个培训班上年纪最小的,年少轻狂,就在开办仪式上,培训老师让我们自我介 ...

  4. Android群英传笔记——第九章:Android系统信息和安全机制

    Android群英传笔记--第九章:Android系统信息和安全机制 本书也正式的进入尾声了,在android的世界了,不同的软件,硬件信息就像一个国家的经济水平,军事水平,不同的配置参数,代表着一个 ...

  5. 《金融学》笔记 第九章 货币需求、供给、均衡

    <金融学>笔记 第九章 货币需求.供给.均衡 前言 在<<金融学>笔记>中开了一个头,现在完善具体细节. 金融范畴篇 第一章 货币的本质 第二章 货币制度 第三章 ...

  6. R语言实战笔记--第九章 方差分析

    R语言实战笔记–第九章 方差分析 标签(空格分隔): R语言 方差分析 术语 组间因子,组内因子,水平:组间因子和组同因子的区别是,组间因子对所有测试对象进行分组,而组内因子则把所有测试对象归为同一组 ...

  7. CSAPP学习笔记——第九章 虚拟内存(一)内存陷阱

    CSAPP学习笔记--第九章 虚拟内存(一)内存陷阱 int val; ... scanf("%d", val); 引用了错误的指针,scanf将val解释为一个地址,并试图将一个 ...

  8. 《计算传播学导论》读书笔记——第二章文本分析简介

    <计算传播学导论>读书笔记--第二章文本分析简介 第一节 文本分析研究现状 常用文本挖掘技术 第二节 文本分析与传播学研究 (一)为什么文本挖掘技术逐渐受到传播学者的关注 (二)不同文本分 ...

  9. 【PMP】Head First PMP 学习笔记 第九章 人力资源管理

    第九章 人力资源管理 每一个成功的项目背后都有一个伟大的团队. 4个过程 制订人力资源计划(计划过程组) 招募项目团队(执行过程组) 发展项目团队(执行过程组) 管理项目团队(执行过程组) 在制订人力 ...

最新文章

  1. centos7 搭建nfs共享文件
  2. 云智慧CEO:APM技术难点在于前端数据采集与后端数据分析的结合
  3. MS-SQL Server字符串处理函数大全
  4. 我的青春谁做主的经典语录
  5. HDU 6321 Problem C. Dynamic Graph Matching (状压dp)
  6. python天气预报官网_python 实现对天气预报官网未来一周七天的天气情况抓取
  7. python os.access_os.access(path, mode)
  8. [20151014]关于result cache.txt
  9. 计算机缺少GD132.dll,Ubuntu12.04宝塔面板安装nginx报错,缺少GD library环境依赖包
  10. 学习笔记第十四篇之知乎社交网络分析
  11. 通信原理-确定信号分析
  12. 计算机考研作息时间表,2016考研人:牛人的考研作息时间表
  13. 【笔记】TNT: Target-driveN Trajectory Prediction
  14. 相机光学(五)——对运动物体的曝光时间的计算
  15. Linux下使用ISC DHCP可以实现动态推送静态路由表
  16. 眼球追踪技术是VR下一个突破口?
  17. 千万别在微社区太投入
  18. wincc按钮控制的vb脚本_VB操作wincc脚本心得
  19. Chapter1 ROS概述与环境搭建
  20. jsp页面导入java包能干嘛_在JSP中如果要导入java.util.*包要使用什么指令

热门文章

  1. js购物车 实现全选 反选 删除...(附图片代码)
  2. 【六种方式】去除数组中的重复元素
  3. java 转义字符使用_Java 转义字符的使用
  4. 一个人没有出息的9大根源
  5. BufferedReader的readLine方法
  6. form提交如何获取同名name的value值
  7. 狂神说——SpringBoot学习
  8. ElasticSearch系列 - SpringBoot整合ES:短语匹配查询 match_phrase
  9. 十六进制转换成十进制
  10. 李彦宏发内部邮件反思:鼓励狼性、淘汰小资