请教ITextCtl用法,谁有简单示例?100分
我的做法是:
1. 结构体中声明一个变量: ITextCtl *m_pText;
2. 在appname_InitAppData中初始化:
if(ISHELL_CreateInstance(pMe->a.m_pIShell, AEECLSID_TEXTCTL, (void**)(&pMe->m_pText)) != SUCCESS ){}
3. 在程序启动时设置属性:
rc.x = 10;
rc.y = 10;
rc.dx = 150;
rc.dy = 30;
ITEXTCTL_SetRect(pMe->m_pText, &rc);
ITEXTCTL_SetProperties(pMe->m_pText, TP_FIXSETRECT);
ITEXTCTL_SetMaxSize(pMe->m_pText, 20);
//输入模式设置为数字、字母、拼音
ITEXTCTL_SetInputMode(pMe->m_pText, AEE_TM_CURRENT | AEE_TM_NUMBERS | AEE_TM_PINYIN | AEE_TM_LETTERS);
4. 在显示的时候调用:
ITEXTCTL_SetActive(pMe->m_pText, TRUE);
ITEXTCTL_Redraw(pMe->m_pText);
5. 在appname_HandleEvent函数中
case EVT_KEY:
// Add your code here...
if( pMe->m_pKeyword && ITEXTCTL_IsActive(pMe->m_pKeyword) == TRUE)
{
if (ITEXTCTL_HandleEvent( pMe->m_pKeyword, eCode, wParam, dwParam ))
{
return TRUE;
}
}
KeyEvent_Handle(pMe, wParam);
return(TRUE);
6. 在退出程序的时候释放:
if(pMe->m_pText!= NULL)
{
ITEXTCTL_Release(pMe->m_pText);
pMe->m_pText= NULL;
}
运行没有出错,不过输入的任何东西都显示不出来,在文本输入框的位置显示一个黑条,每次输入一些新的字符后,黑条变短一些。不知道是什么原因。
欢迎指点或给出一个可运行、简单到只有一个输入框的例子。谢谢!