这个Label控件,快把我弄疯了!

wangwei090 2008-01-17 09:33:55
不知道大家有没有这样的经历,我用Label控件动态加载一段文字,宽度定下来了,高度随文字多少而自动增加,现在是设WordWrap属性为True,Label已经可以自动换行了,但问题是最后一行可能是因为不足一行它死都不显示,搞了几天都没搞好,真是要疯了。。。
...全文
119 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangwei090 2008-01-21
  • 打赏
  • 举报
回复
哇,搞定了,感谢Maconel,也感谢所有热心的朋友.
Maconel 2008-01-20
  • 打赏
  • 举报
回复
设置label的Font的Charset为GB2312_CHARSET试试。
ydlchina 2008-01-19
  • 打赏
  • 举报
回复
Label要换行需要每句后跟"\r\n"

一种就是使用cczip的方法,在每次Caption增加数据后使用,不过在使用过程中每到3,6,9...时就会有一次停顿,不知为何?
一种就是每次增加一句,就动态增加Label的高度.
wangwei090 2008-01-19
  • 打赏
  • 举报
回复
问题补充:
Label自动换行时最后一行可能因为不足一行所以无法显示,我能过在后面补空格的方法
解决了在字少的情况下,但一旦字多了,这个方法就没有用了.最后一行又不显示了>.<
wangwei090 2008-01-19
  • 打赏
  • 举报
回复
不行啊,靓仔.你是想算出它的高度吗?可是你写的我有点不明白.
int w = (Label1->Width / WordWidth) * WordWidth;
这不就等于 int w = Label1->Width 吗?所以我不知道W表示的是什么,后面的公式自然也不知道是什么.
而且我按你的方法来,问题还是存在的...
ydlchina 2008-01-19
  • 打赏
  • 举报
回复
int K;

K= Label1->Height;

Label1->Height+=K ;//
cczlp 2008-01-19
  • 打赏
  • 举报
回复
    int Index = 0, Len = 1;
for (int i = 1; i < Label1->Caption.Length(); i++)
{
if (Label1->Caption.IsLeadByte(i))
{
Index = i;
Len = 2;
break;
}
}
int WordWidth = Label1->Canvas->TextWidth(Label1->Caption.SubString(Index, Len));
int w = (Label1->Width / WordWidth) * WordWidth;
TSize sz = Label1->Canvas->TextExtent(Label1->Caption);
Label1->Height = (sz.cx + w - 1) / w * sz.cy;
wangwei090 2008-01-19
  • 打赏
  • 举报
回复
当然不行了,文字多少是不确定的嘛!
cczlp 2008-01-19
  • 打赏
  • 举报
回复
Label 的Height 设大些
wangwei090 2008-01-18
  • 打赏
  • 举报
回复
哎,真的没辙了,真的要疯掉了。没有通过啊,现在的问题是如果label中字不多是可以全部显示的,但是如果字多了又和以前一样,最后一行又不出来了。这玩艺跟字的多少怎么还有关系?真是的,有没有哪位有好的建议呢?
crazyterry 2008-01-18
  • 打赏
  • 举报
回复
label的wordwrap有效果吗?好像我以前试过没有效果
以前我是通过添加"\r\n"来实现自动换行的
这样会全部显示所有字符
li_fw 2008-01-18
  • 打赏
  • 举报
回复
MS补空格是最简单有效的做法,可能必要的时候,需要去设计个算法使得总是每行保留3个或者N个空格
ydlchina 2008-01-18
  • 打赏
  • 举报
回复
接分的
wangwei090 2008-01-17
  • 打赏
  • 举报
回复
晕,搞定拉!哥们儿三个字就解决了我困扰几个星期的问题,高手!哇,轻松多了,终于可以交差了,感谢!
jasonnbfan 2008-01-17
  • 打赏
  • 举报
回复
补空格

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧