SuperIC社区_

标题: PF信息太长换行处理 [打印本页]

作者: halleyhuang    时间: 2016-9-29 17:31
标题: 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] != ' ')
                u16OutLen--;
            pu16StrBuf[u16OutLen] = '\r';
        }

}

调用如下:
MApp_EventInfo_Display(EN_PF_Cur_Pres,(LPTSTR)u16StrBuffer);
MApp_EventInfo_Display(EN_PF_Cur_Foll,(LPTSTR)u16StrBuffer);



作者: bean.yang    时间: 2016-10-18 11:32





欢迎光临 SuperIC社区_ (/) Powered by Discuz! X3.3