BREW中的屏幕显示主要是由IDisplay接口实现的,利用IDisplay可以完成书写文字、画图、画直线以及一些简单的几何图形。如果要想画一些复杂的几何图形或线,您只好求助于IGraphics 接口了。IDisplay会被所有的应用用到,在使用过程中无需我们再显式的去创建,系统会自动建立它,除非希望实现多显存处理。IDisplay允许对于设备的背光灯和Annunciators进行控制,BREW3.x之后,设备的背光灯可以通过IBacklinght接口单独控制。
BREW中的UI界面控件都派生于IControl接口,其间的关系如下图所示。
图11-1: 基于IControl的显示控件
|
IStatic相当于MFC中的静态文本框控件,用于不可编辑的文本/简单图像信息的显示,支持自动换行,支持自动滚屏,也支持支持装饰属性的显示。
IMenuctl是菜单控件。所谓菜单,就应该能让用户通过按“上”、“下”、“左”、“右”键来浏览所有可供选择的菜单选项,并将用户所选中的选项与别的选项区分开来。当用户按“选择”键时,EVT_COMMAND事件就会被发回给您的应用程序的事件处理函数。IMenuctl支持4种菜单形式:
标准菜单,ClassID为:AEECLSID_MENUCTL
列表菜单,ClassID为: AEECLSID_LISTCTL
软件菜单,ClassID为:AEECLSID_SOFTKEYCTL
图标菜单,ClassID为: AEECLSID_ICONVIEWCTL
ITextCtl相当于MFC中的文本文本框,为用户提供数据输入。文本控件使设备用户能够使用设备上的按键输入文本字符串。文本控件由可选的标题和矩形窗口组成,窗口包含一行或多行显示给用户的输入文本。文本控件将设备用户的按键操作转换成字符。应用程序只需将按键事件传递给激活的文本控件,并在设备用户完成文本输入时从该控件获取文本。转换过程取决于设备支持的文本输入模式,例如标准多次按键模式(设备用户从映射到每个按键的字符中选择)和T9联想文本输入模式。如果支持多种文本输入模式,应用程序可以使设备用户在文本控件激活时选择指定的模式。文本控件允许您指定一个用于此用途的软键菜单。在文本控件激活时,应用程序必须通过调用ITExTCTL_HandieEvent()向它发送所有按键事件。