PF信息太长换行处理
PF信息太长会换行显示到下一行,但那样单词里面的字母就被拆开了,如下处理判断单词显示不下时在前面的空格处先换行。void MApp_EventInfo_Display(SI_EIT_PF_Type ePFType,MS_U16*pu16StrBuf)
{
MS_U16 u16Len = wcslen(pu16StrBuf);
MS_U16 u16OutLen;
RECT stRect;
if(ePFType == EN_PF_Cur_Pres)
memcpy(&stRect, &GETWNDINITRECT(HWND_TV_BANNER_CH_CURREN_EVENT), sizeof(RECT));
else
memcpy(&stRect, &GETWNDINITRECT(HWND_TV_BANNER_CH_NEXT_EVENTEXT), sizeof(RECT));
stRect.height = FONT_TYPE_VERYSMALL;
MApp_ZUI_OSD_VfSmartDrawMaxCharNum(FONT_TYPE_VERYSMALL,
(Rect*)&stRect,
pu16StrBuf,
eTextAlignLeft,
GEFONT_FLAG_VARWIDTH | GEFONT_FLAG_GAP,
2,
0,
&u16OutLen);
if(u16OutLen < u16Len)
{
while(pu16StrBuf != ' ')
u16OutLen--;
pu16StrBuf = '\r';
}
}
调用如下:
MApp_EventInfo_Display(EN_PF_Cur_Pres,(LPTSTR)u16StrBuffer);
MApp_EventInfo_Display(EN_PF_Cur_Foll,(LPTSTR)u16StrBuffer);
:$
页:
[1]