统计一段文字几行能写完
2011-01-11 20:19
176 查看
TInt CCouponContainer::CountTextLines(TInt aWidth, const TDesC & aValue)
{
TInt nLines = 0;
if (aWidth == 0 || aValue.Length() == 0)
{
return nLines;
}
const CFont* font = NULL;
font = LatinBold16();
TBuf<400> bValue;
bValue.Append(aValue);
//第二行的文字需要自动换行
TInt leng = font->TextWidthInPixels(bValue);
TInt pstart = 0;
TInt pLength = 0;
TBuf<200> text;
if (leng <= aWidth)//判断一行是否可以显示完
{
return 1;
}
else
{
pLength = font->TextCount(bValue.Mid(pstart), aWidth);
do
{
text.Zero();
text.CopyC(bValue.Mid(pstart, pLength));
nLines++;
bValue.CopyC(bValue.Mid(pstart + pLength));
pLength = font->TextCount(bValue.Mid(pstart), aWidth);
}
while (pLength > 0);
}
return nLines;
}
{
TInt nLines = 0;
if (aWidth == 0 || aValue.Length() == 0)
{
return nLines;
}
const CFont* font = NULL;
font = LatinBold16();
TBuf<400> bValue;
bValue.Append(aValue);
//第二行的文字需要自动换行
TInt leng = font->TextWidthInPixels(bValue);
TInt pstart = 0;
TInt pLength = 0;
TBuf<200> text;
if (leng <= aWidth)//判断一行是否可以显示完
{
return 1;
}
else
{
pLength = font->TextCount(bValue.Mid(pstart), aWidth);
do
{
text.Zero();
text.CopyC(bValue.Mid(pstart, pLength));
nLines++;
bValue.CopyC(bValue.Mid(pstart + pLength));
pLength = font->TextCount(bValue.Mid(pstart), aWidth);
}
while (pLength > 0);
}
return nLines;
}
相关文章推荐
- 统计一段文字中出现频率最高的10个单词(c语言)
- C语言K&R习题系列——统计一段文字中各个字母出现的频率
- 统计一个字符串在固定的宽度内几行能写完。
- Java统计一段文字多少重复次数最多单词
- 统计一段输入文字当中的单个单词出现的个数
- 统计一段文字中每个字符出现的次数,并输出结果(包含字符及其出现次数)保存在一个适合的集合中。
- C++统计一段文字中各单词出现的频率
- C语言K&R习题系列――统计一段文字中各个字母出现的频率
- 统计一段文字的单词数、字符数和行数
- 统计一段文字中数组、中文、英文字母、空格以及其他特殊字符出现的次数
- 一段关于继承和类的文字
- perl 提取介于某个区间的几行文字(转)
- java统计一段英文中单词及个数
- java获取一段文字的url地址并以链接的形式显示在网页上
- 如何替换一段字符串中的文字
- 一段按页自动滚动文字或图片的Js代码
- 用python对一段下载的语料库进行词频统计
- 一个窗口包含文本行和标签,在文本行中输入一段文字并且按回车键后,这段文字显现是在标签上
- C# 获取一段文字的拼音首字母
- 理解HttpHandler,并为所有*.jpg图片生成一段文字于图片上