Download - 项目 9 :定制 UI - PDA 的界面定制( 1 )
![Page 1: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/1.jpg)
项目 9:定制 UI- PDA的界面定制( 1)本节课程主要知识点 GWES 图形 、 、窗口和事件系统
![Page 2: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/2.jpg)
重点和难点重点 用户界面与图形系统
难点 图形、界面与事件间的关系
![Page 3: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/3.jpg)
GWES
![Page 4: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/4.jpg)
GWES
GWES 的全称为 Graphics Windowing and Event Subsystem ,即图形窗口和事件子系统。
GWES 由 GWES.exe 文件实现。 GWES 是用户应用程序和操作系统之间
的图形用户接口。 GWES 是 Win32 应用编程接口( AP
I )、 用户界面 ( UI )和图形设备接口 ( GDI )库的组合 。
![Page 5: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/5.jpg)
GWES 的主要功能 通过键盘、笔针动作接受用户输入。 将操作系统消息传送到应用程序。 创建并管理在显示设备上的窗口、图形
及文本的输出。
![Page 6: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/6.jpg)
GWES 的组件 GWES 的核心是窗口,所有应用程序都
须借助窗口来接受操作系统的消息。 GWES 模块是 Windows CE 中最高度组
件化的部分,包括两个子集USER :处理消息、事件、用户输入GDI :负责图形输出
![Page 7: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/7.jpg)
GWES 的基本配置 基本配置用于创建最基本的包括操作系
统内核和选定的 GWES 支持组件,包括消息处理用户输入电源管理
不显示用户界面,也不包括窗口管理功能。
用于像机顶盒等无显示器的设备。
![Page 8: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/8.jpg)
GWES 的中等配置 中等配置包括操作系统核心并支持以下功能
消息处理及用户输入 电源管理、提示性发光二极管 (LED) GDI ,包括 Microsoft TrueType 字体和光栅
字体,文本绘制,调色板和打印 可定制的触摸和校准 UI 输入方法管理器 (IMM) 窗口和对话管理 可定制 UI
![Page 9: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/9.jpg)
GWES 的完全配置 完全配置包含所有的 GWES 组件。 用于完整的基于图形用户接口的应用。
![Page 10: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/10.jpg)
GWES 的结构 GWES 的三个关键部份
图形系统( Graphic ) 窗口系统( Windows ) 事件系统( event )
图形系统依赖窗口的上下文( DC )来绘图,而窗口也需要图形系统来绘制自身。
事件是通过消息机制实现的,而消息总是要发送到某个窗口,而每个窗口都有一个 WindProc 来处理消息。
![Page 11: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/11.jpg)
图形 、窗口和事件系统
![Page 12: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/12.jpg)
图形系统 图形系统使用图形设备接口 GDI 来处理
程序的图形输出。
![Page 13: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/13.jpg)
GDI ( Graphics Device Interface ) 用于控制文本和图形的显示。 GDI 可实现在显示设备、打印机及其他输出设备上输出图形或文本。
GDI使程序员无需关心硬件设备和驱动的细节,就可以实现图形或文本的输出。 实现GDI函数调用的关键是首先要获得设备上下文DC的句柄。
![Page 14: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/14.jpg)
DC ( Device Context ) DC 是 GDI 内部保存数据的一种数据结
构,该数据结构的属性与具体的输出设备相关。
最常见获得 DC 的方法是使用 GetDC()函数,然后使用 GDI 函数来进行画图。
释放 DC 使用 ReleaseDC() 函数来实现。
![Page 15: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/15.jpg)
画笔( Pen ) 画笔的使用非常普遍,用于实现画
线功能。 创建画笔使用 CreatPen 函数来实现。 画笔的类型包括
PS_SOLID 画实线PS_DASH 画点划线PS_NULL 不画线
![Page 16: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/16.jpg)
刷子( Brush ) 刷子用于描绘闭合形状内部区域的图形。 Windows CE 支持三种类型的逻辑刷
标准刷:有 21 种标准刷。 实心刷:在 8X8 像素的正方形中包含 64 个
同 色像素。 模板刷:使用 CreatePatternBrush 来创建。
SelectObject 函数将逻辑刷选入设备环境。 GetStockObject 函数可以选择一种标准刷。
![Page 17: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/17.jpg)
调色板( Color Palette ) 调色板是输出设备能够显示的颜色集合。 Windows CE 没有标准彩色调色板,基于
设备的显示能力,每次创建 DC 时, Windows CE 将创建一个默认调色板。
用户不能改变默认调色板中的颜色,但是可以创建自己的逻辑调色板,并将它选入设备环境取代默认调色板。
![Page 18: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/18.jpg)
位图( Bitmap ) 字体由它的字样、样式和大小表示字体由它的字样、样式和大小表示
字样决定了图案符号的特定特征,如字样决定了图案符号的特定特征,如字符中的粗笔划和细笔划的相对宽度字符中的粗笔划和细笔划的相对宽度
样式决定了字体的重度(右浅到黑)样式决定了字体的重度(右浅到黑)和倾斜度(直体或斜体)和倾斜度(直体或斜体)
WinCE5.0 WinCE5.0 支持光栅字体和支持光栅字体和 TrueTypeTrueType 字字体技术,但在特定系统中只能使用一种体技术,但在特定系统中只能使用一种类型的字体,而且是在设计系统时决定类型的字体,而且是在设计系统时决定的,应用程序无法改变的,应用程序无法改变
![Page 19: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/19.jpg)
字体( Fonts ) 字体由它的字样、样式和大小表示
字样决定了图案符号的特定特征,如字符中的粗笔划和细笔划的相对宽度。
样式决定了字体的重度(浅到黑)和倾斜度(直体或斜体)。
Windows CE5.0 支持光栅字体和 TrueType 字体。但在特定系统中只能使用一种类型的字体,而且是在定制系统时决定的,应用程序无法改变。
![Page 20: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/20.jpg)
窗口系统 窗口系统是 Windows CE 输入输出的界
面。是实现 GWES 的核心。
![Page 21: 项目 9 :定制 UI - PDA 的界面定制( 1 )](https://reader033.vdocuments.pub/reader033/viewer/2022061320/56815465550346895dc27f44/html5/thumbnails/21.jpg)
事件系统 Windows CE 应用程序同样是以事件驱动、
消息机制为基础的。 事件系统接收由用户输入而产生的消息
并进行处理。