第十四章 使用ITextCtl接口
一、主要内容
(1)、ITextCtl的主要功能
(2)、ITextCtl的使用方法
(3)、ITextCtl接口常用函数
(4)、输入法的设置
(5)、事件处理
(6)、多文本框控件的实现方法
二、ITextCtl 简介
三、ITextCtl接口使用手册
四、ITextCtl Properties
(1)、ITextCtl支持下列属性(常用):
TP_MULTILINE
TP_FRAME
TP_PASSWORD
(2)、使用ITextCTL_SetProperties()函数来设置属性:
例如:
ITEXTCTL_SetProperties( pMe ->m_pITextCtl, TP_MULTILINE | TP_FRAME);
五、ITextCtl 的常用函数
ITEXTCTL_SetTitle()
ITEXTCTL_SetText()
ITEXTCTL_GetText()
ITEXTCTL_GetTextPtr()
ITEXTCTL_SetMaxSize()
ITEXTCTL_GetCursorPos()
ITEXTCTL_SetCursorPos()
ITEXTCTL_GetProperties()
ITEXTCTL_SetProperties()
ITEXTCTL_SetRect()
ITEXTCTL_GetRect()
ITEXTCTL_IsActive()
ITEXTCTL_SetActive()
ITEXTCTL_Redraw()
ITEXTCTL_Reset()
六、ITextCtl的常用函数
(1)、设置文本标题:ITEXTCTL_SetTitle()
(2)、设置/读取文本
(a)、ITEXTCTL_SetText()
(b)、ITEXTCTL_GetText()
(c)、ITEXTCTL_GetTextPtr()
(3)、设置文本控件的最大字符数:ITEXTCTL_SetMaxSize()
七、常用函数
(1)、设置/读取光标的位置
(a)、ITEXTCTL_GetCursorPos()
(b)、ITEXTCTL_SetCursorPos()
(2)、设置/读取控件的属性
(a)、ITEXTCTL_GetProperties()
(b)、ITEXTCTL_SetProperties()
(3)、设置/读取文本框
(a)、ITEXTCTL_SetRect(ITextCtl * pITextCtl, const AEERect * prc)
(b)、ITEXTCTL_GetRect(ITextCtl * pITextCtl, AEERect * prc)
(4)、ITEXTCTL_SetActive()
(a)、ITEXTCTL_SetActive(ITextCtl * pITextCtl, boolean bActive)
bActive:
TRUE – 获得焦点,显示文本框
FALSE – 失去焦点
(b)、只有处于Active的控件才能输入文本并显示
(5)、ITEXTCTL_Redraw()
(6)、ITEXTCTL_Reset()
(a)、释放文本控件的所有资源,包括标题,文本,等
(b)、控件失去焦点,转入inactive状态
(c)、该函数一般用于重新初始化
八、输入法设置(一)
(1)、ITextCtl支持的输入模式:
AEE_TM_PINYIN AEE_TM_STROKE
AEE_TM_LETTERS AEE_TM_SYMBOLS
.etc (defined in AEEText.h)
(2)、使用ITEXTCTL_SetInputMode() 设置输入法
(3)、使用下列函数获取手机支持的输入法:
(a)、ITEXTCTL_EnumModeInit()
(b)、ITEXTCTL_EnumNextMode()
九、输入法设置(二)
使用ITEXTCTL_SetSoftKey()函数来设置输入法
十、ITextCtl 的消息处理
(1)、函数ITEXTCTL_HandleEvent()
Key 0-9:输入字符
LEFT/RIGHT:控制光标左右移动
UP/DOWN:控制光标上下移动
SELECT:焦点在SoftKey和文本框之间切换
(2)、需要使文本控件获得焦点才能进行文本输入
(a)、ITEXTCTL_SetActive(pMe-> pITextCtl, TRUE)
(b)、ITEXTCTL_IsActive()
十一、多文本控件的实现
(1)、需解决两个问题
(a)、如何让焦点在多个文本控件之间切换
(b)、如何设计输入法
(2)、解决方案
(a)、处理“EVT_CTL_TAB”事件
(b)、若每个文本框的输入法固定,则可调用函数ITEXTCTL_SetInputMode()直接进行设置;
(c)、若输入法并不固定,则需手动设计调出输入法并进行设置。
1、设计一个菜单,用于列出该设备的所有可供选择的输入模式;
2、获取该设备的所有可供选择的输入模式,如下的两个函数即可完成这样的功能:
ITEXTCTL_EnumModeInit( );
ITEXTCTL_EnumNextMode( );
3、当用户选择好输入模式后,需识别出用户选择的是哪种输入模式,然后将与其对应的文本框设置为该输入模式。
十二、本章关键
(1)、ITextCtl的使用范围
(2)、ITextCtl的使用方法和步骤
十三、问题回顾
(1)、ITextCtl接口主要用于什么场合?
(2)如何使用ITextCtl接口?
(3)在使用输入法的时候,可采取哪些方式?需要注意什么问题?
(4)在对同一页面多文本框进行处理时,如何完成焦点在不同的文本框之间切换?