关于文本框的问题
在这个函数里面,我想先将屏幕背景设为一种颜色,然后在设置一个矩形区域,接着就建立一个输入文本框,再就是将这个文本框限定在矩形区域内。其实我想达到的目的是建立一个文本输入框,然后给输入框一个底色。因为输入框建立后,它的底色是白色的,感觉这样不是很好看。
按照下面的代码,我可以调节文本框的左上点坐标,但不管矩形坐标是多少,文本框的右下坐标始终是某一个固定的值。也就是好象文本框没有限定在矩形区域内。 还有就是背景的底色没有很好的显示出来。比如,文本框的左上点坐标是(10,50),那么屏幕(0,0)到(10,50)区域内仍然是白色,而不是我给背景设置的颜色。
请高手帮忙看下,问题出在哪?
boolean SHOW_InputText(MusicList* pApp)
{
ITextCtl* pITextCtl=NULL;
AEERect nTextRect;
AEERect nBkRect;
AECHAR* szTitle=L"请输入文字:";
if(ISHELL_CreateInstance(pApp->a.m_pIShell, AEECLSID_TEXTCTL,
(void**)(&pApp->m_ptextobj))!=SUCCESS)
{
return FALSE;
}
pITextCtl=(ITextCtl*)pApp->m_ptextobj;
SETAEERECT(&nBkRect,0,0,128,160);
IDisplay_DrawRect(pApp->pIDisplay,
&nBkRect,
MAKE_RGB(255,0,255),
MAKE_RGB(255,0,255),
IDF_RECT_FRAME | IDF_RECT_FILL);
SETAEERECT(&nTextRect,
pApp->m_nCIntAreaRect.x,
(pApp->m_nCIntAreaRect.dy-pApp->m_nLargeLineHeight*3)/2,
pApp->m_nCIntAreaRect.dx,
pApp->m_nLargeLineHeight*3);
IDisplay_DrawRect(pApp->pIDisplay,
&nTextRect,
MAKE_RGB(0,255,255),
MAKE_RGB(255,0,0),
IDF_RECT_FRAME | IDF_RECT_FILL);
ITEXTCTL_SetRect(pITextCtl,&nTextRect);
ITEXTCTL_SetProperties(pITextCtl,TP_FRAME);
ITEXTCTL_SetMaxSize(pITextCtl,20);
ITEXTCTL_SetTitle(pITextCtl,NULL,0,szTitle);
ITEXTCTL_SetInputMode(pITextCtl,AEE_TM_NONE);
ITEXTCTL_SetActive(pITextCtl,TRUE);
IDISPLAY_Update(pApp->pIDisplay);
return TRUE;
}