第六章 IDISPLAY 使用简介
IDisplay 函数列表
IDISPLAY_DrawText() IDISPLAY_SetColor()
IDISPLAY_MeasureText() IDISPLAY_ClearScreen()
IDISPLAY_GetFontMetrics() IDISPLAY_SetAnnunciators()
IDISPLAY_MeasureTextEx() IDISPLAY_Backlight()
IDISPLAY_DrawRect() IDISPLAY_BitBlt()
IDISPLAY_FillRect() IDISPLAY_Update()
IDISPLAY_DrawHLine() IDISPLAY_Update()
IDISPLAY_DrawVLine()
IDISPLAY_MeasureText()
给定一个字符串及其显示字体,获得显示它所需要的像素的数目
IDISPLAY_MeasureTextEx()
除了IDISPLAY_MeasureText()能完成的功能外,给定宽度(如屏幕的尺寸)还能获得它可以显示的字符数
IDISPLAY_GetFontMetrics()
获得指定字体在显示时的尺寸信息
int IDISPLAY_GetFontMetrics(IDisplay * pIDisplay, AEEFont Font, int *pnAscent, int *pnDescent);
Ascent + Descent = Character height for font
IDisplay 使用注意事项:
不支持换行,需开发者手动设置、只能绘制水平或垂直的线,且仅能绘制黑色的线条
第七章 ISTATIC
相当于MFC中的静态文本框控件
用于不可编辑的文本/简单图像信息的显示
支持自动换行、支持自动滚屏、支持众多修饰属性
接口函数:
接口:ISTATIC_AddRef()、ISTATIC_Release()
状态与属性的获得:ISTATIC_GetProperties()、ISTATIC_GetRect()、ISTATIC_IsActive()、ISTATIC_IsScrollable()
设置属性:ISTATIC_SetActive()、ISTATIC_SetFont()、ISTATIC_SetProperties()、ISTATIC_SetRect()
内容显示:ISTATIC_SetText()、ISTATIC_Redraw()、ISTATIC_SizeToFit()、ISTATIC_Reset()
事件处理:ISTATIC_HandleEvent()
IStatic 的一般使用方法
1.创建实例
ISHELL_CreateInstance(pi->a.m_pIShell, AEECLSID_STATIC, (void *)&pi->pIstatic)
2.设定显示区域
SETAEERECT(&rect, 0, 0, 128, 144);
ISTATIC_SetRect(pi->pIStatic, &rect);
3.得到文本或图像内容
4.为文本框赋值
ISTATIC_SetText(pi->pIStatic, szText, data, AEE_FONT_BOLD, AEE_FONT_NORMAL);
ISTATIC_SetText(pi->pIStatic, szText, (AECHAR *)pi->pImage, AEE_FONT_BOLD, NULL);
5.显示输出
ISTATIC_Redraw(pi->pIStatic);
6.当控件不再使用时,释放内存
ISTATIC_Release(pi->pIStatic);
第八章 IMENUCTL
当用户按“选择”键时,EVT_COMMAND事件就会被发回给你的应用程序的事件处理函数
AEECLSID_MENUCTL、AEECLSID_LISTCTL、AEECLSID_SOFTKEYCTL、AEECLSID_ICONVIEWCTL
IMenuCtl 使用手册
1. 调用ISHELL_CreateInstance()创建一个菜单的实例,此时可根据需要输入不同的ClassID,创建不同类型的菜单
2. 调用IMENUCTL_SetRect()设置菜单显示的位置。如果没有设置,则默认显示区域为整个屏幕区域;
3. 利用IMENUCTL_SetTittle()设置菜单标题;
4. 调用IMENUCTL_AddItem()或IMENUCTL_AddItemEx()添加所需的菜单选项;
5. 调用IMENUCTL_SetActive()将菜单设置为活动状态,以便接收用户的各种操作信息;
6. 当不在使用菜单接口时,调用IMENUCTL_Release()对已申请的菜单资源进行释放。
IMenuCtl属性
MP_WRAPSCROLL、MP_NO_ARROWS、MP_NO_REDRAW、MP_MAXSOFTKEYITEMS、MP_CALENDAR、
MP_AUTOSCROLLTIME、MP_ICON_TEXT_TOP、MP_ICON_SINGLE_FRAME、MP_UNDERLINE_TITLE
利用IMenuCtl操作的主要函数
IMENUCTL_SetTitle() IMENUCTL_GetProperties()
IMENUCTL_AddItem() IMENUCTL_SetProperties()
IMENUCTL_GetItemCount() IMENUCTL_SetColors()
IMENUCTL_GetItem() IMENUCTL_SetStyle()
IMENUCTL_SetItem() IMENUCTL_IsActive()
IMENUCTL_DeleteItem() IMENUCTL_SetActive()
利用IMENUCTL_HandleEvent()启动事件代理机制
处理EVT_COMMAND事件,收回事件处理权
处理EVT_APP_SUPPEND, EVT_APP_RESUME事件,以使程序能处理来电、来电结束等情况。