GWE支援组成Windows CE图形使用者接口的所有窗口、对话框、控件、菜单和资源,使使用者能够通过执行菜单命令、单击按钮等操作来控制应用程序。GWE还以位图、光标、文字以及图标等形式为使用者提供信息。即使不具备图形使用者接口的基于Windows CE的平台也使用了GWE的基本窗口和讯息功能,这些功能提供了在使用者、应用程序和操作系统之间进行通讯的方法。
GWE概述
对应于桌面Windows操作系统中的User32,Windows CE GWE子系统中的USER部分包含了使用者输入系统(User Input SySTem)、事件管理器(Event Manager)和窗口管理器(Window Manager)三个组件。其中使用者输入系统接收来自键盘、鼠标和手写笔等设备的讯息,事件管理器管理讯息和讯息队列,而窗口管理器将讯息响应发送到对应的窗口以实作特定的显示。 GWE子系统中的GDI(Graphics Device Interface,图形设备接口)部分依靠二维图形包中的API函式将使用者的绘图操作通过直线、曲线、填充区域、位图和文字等GDI基本操作来实作,此外GDI还支持点阵字体和True Type字体。 基于Windows CE的程序设计要通过讯息循环。讯息循环是在Windows应用程序中的一种循环,它负责接收系统传送过来的讯息,并且把它们发送到相对应的窗口,直到系统表明所有的讯息都发送完毕,讯息循环才结束。它包含在WinMain函式中。处理讯息循环的函式是WndProc。 下面是GWE的一些特殊功能:
GWE实时追踪执行系统的工作情况,所以如果没有在三分钟内给设备一些指令的话, 电路板克隆GWE将关闭这个设备。 GWE还添加了储存空间不足时的提示和解决方案。虽然在技术实作上储存空间不够的提示和解决没有必要一定成为GWE的一部分,但是在这里加上一些程序代码实作这种功能是最方便的。因为GWE和输入相关。如果储存空间不足,将出现内存不足的对话框。同时会弹出一个窗口,给出正在执行的程序代码,让使用者选择关掉其中的一个或几个。Windows CE添加储存空间不足时的解决程序是基于执行设备的考虑。因为执行Windows CE的设备一般没有硬盘,同时也没有足够的内存,一旦在执行时超过了内存的容量,将没有硬盘保存,所以必须在有可能超过储存容量的地方结束一些程序以节省空间。当然这在执行桌面Windows操作系统的设备上不常见到。 在使用者输入系统的设计上, Windows CE也尽量减少执行绪数。它将键盘设备和触控设备的处理直接交给了GWE,并且将这些设备所传送的讯息直接放在全域(Global)设备队列中。
GWE在设计之初有以下的一些目标:
? 在小屏幕设备上执行比较稳定: GWE设计的时候提供了足够的函式以便使用者写出的程序代码在小屏幕上能够执行的很好。
? 和Win32的兼容性:和Win32 API的兼容性是GWE设计时最重要的目标,因为这可以让那些会Windows程序设计的人能够在Windows CE上程序设计。
? 支持广泛的颜色位深度和色彩模式,如1、2、4、8、16、24和32位颜色。这些在桌面Windows操作系统中是没有提供的。
? 加上了调节低电压和对电源的管理的功能设计:这使得系统在判断使用者没有使用设备后关掉设备。在上述目标之中,Windows CE最基本的设计目标是和Win32 API兼容,它的大部分
程序代码也没有重新写。和桌面Windows操作系统一样,Windows CE的窗口管理器也包括对话框管理器、 Splash类别和控件等。 具体的结构如图所示。 Windows CE中的非使用者输入区和桌面Windows操作系统中的有一些区别。它和窗口管理器结合在一起。在Windows CE中,一个独立的菜单列和工具列将占据太多的空间,所以Windows CE将菜单列和工具列结合成一个新的控件,称为命令列。以前的菜单被放在非使用者区而工具列放在使用者区,pcb抄板现在菜单和别的控件一样被放在命令列中,并且由命令列实作菜单控件的功能。对话框管理器位于窗口管理器的上层。当实作一个对话框管理器时,同时会有一个消息框产生。消息框位于对话框管理器的上层,并且所有的控件(比如编辑框、列表框、组合框等)都位于对话框管理器的上层。菜单与以前有一些不同,现在也作为控件处理。
当前位置:易博PCB抄板工作室 >> 技术文档 >> 深圳pcb抄板wince使用者接口与图形子系统