本文整理汇总了C++中TFont::WordWrapNoLF方法的典型用法代码示例。如果您正苦于以下问题:C++ TFont::WordWrapNoLF方法的具体用法?C++ TFont::WordWrapNoLF怎么用?C++ TFont::WordWrapNoLF使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TFont
的用法示例。
在下文中一共展示了TFont::WordWrapNoLF方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: ShowAsShort
//如果内容太长显示不完则用省略号表示
void ShowAsShort(TCtrl *pTCtrl, TUChar* pCaptionString, TFont objFontType)
{
TRectangle Rc_TCtrl;
pTCtrl->GetBounds(&Rc_TCtrl);
int nStrLen = TUString::StrLen(TUString::StrTrimUnVisible(pCaptionString));
//int nShortWidth = GetShowAllStringWidth((TUChar*)L"...",objFontType);
int nShortWidth = GetShowAllStringWidth((TUChar*)TUSTR_Kx_Ellipsis,objFontType);
int nShowLen = objFontType.WordWrapNoLF(TUString::StrTrimUnVisible(pCaptionString), Rc_TCtrl.Width()- nShortWidth*2);
if (nShowLen < nStrLen)
{
//Add one more label to show
TUChar* pszTemp = new TUChar[nShowLen + 10];
MemSet( (void *)pszTemp, 0x0, sizeof(TUChar) * (nShowLen + 10) );
TUString::StrNCopy(pszTemp,TUString::StrTrimUnVisible(pCaptionString),nShowLen);
TUString::StrCat(pszTemp,TUSTR_Kx_Ellipsis);//(const TUChar*)L"..."
pTCtrl->SetCaption(pszTemp,FALSE);
delete pszTemp;
}
else
{
pTCtrl->SetCaption(TUString::StrTrimUnVisible(pCaptionString),FALSE);//StrTrim
}
}
示例2: GetShowAllStringWidth
//根据字体计算出显示整个字串所需的像素
//Todo::WordWrapNoLF有问题, 如果第一个字节为空格,返回的nShowLen长度有问题,需要做去头空格处理
Int32 GetShowAllStringWidth(TUChar* pCaptionString, TFont objFontType)
{
Int32 Width = 1;
Int32 tempWidth = 0;//从像素0开始
Int32 nStringLen = TUString::StrLen(pCaptionString);
Int32 nShowLen = 0;
do
{
tempWidth ++;
nShowLen = objFontType.WordWrapNoLF(TUString::StrTrimUnVisible(pCaptionString), tempWidth);
}while(nShowLen < nStringLen);
return tempWidth + 4;//刚刚好的长度显示字串时有问题,故再加两个像素
}