搜索
编程论坛
→
开发语言
→
『 VB6论坛 』
→ 求助,如何改变label的边框颜色?
标题:
求助,如何改变label的边框颜色?
只看楼主
wmf2014
等 级:
贵宾
威 望:
216
帖 子:2039
专家分:11273
注 册:2014-12-6
第
11
楼
得分:0
回复 6楼 liang008
不知道你是如何用有边框的形式解决半个字符问题的,我反复试验结果是:无论是否有边框,label控件对超出显示范围的英文字符都有显示半个的可能。
如果非要定宽label,解决办法有两个:一是将字符串里所有的英文字符转换为对应的中文字符,这样可以自动换行显示,第二种方法是计算当前字符显示宽度,对超出显示宽度的加换行符,自动到下一行显示。
能编个毛线衣吗?
2018-07-20 09:25
liang008
等 级:
新手上路
帖 子:11
专家分:0
注 册:2018-7-18
第
12
楼
得分:0
回复 11楼 wmf2014
我把label设置为有边框时,没有发生显示半个字符的情况,因为我打印的是窗体(使用有边框时窗体显示什么就能打印出什么,但是无边框时窗体看上去是显示了全部字符,实际打出来却少了半个字符)
这里我想请教一下有没有办法得到label是否发生了换行?
如果能得到label发生了自动换行,结合8楼的办法就能解决这个问题
大概是这样 如果换行了Label1.AutoSize = false,否则 Label1.AutoSize = true
2018-07-20 09:43
liang008
等 级:
新手上路
帖 子:11
专家分:0
注 册:2018-7-18
第
13
楼
得分:0
回复 11楼 wmf2014
我遇到的问题是字符串长度刚好靠近label边界却没有发生换行时出现的;当字符串足够长发生自动换行后就不会出现这个问题
2018-07-20 09:51
liang008
等 级:
新手上路
帖 子:11
专家分:0
注 册:2018-7-18
第
14
楼
得分:0
上图第一行为 Label1.AutoSize = true 打出来的效果
第二行为 Label1.AutoSize = false 打出来的效果
Label1的字符串是变化的,有可能会发生换行,换行后打出来都是OK的,只有像第二行这种情况才会出现
2018-07-20 10:02
wds1
等 级:
贵宾
威 望:
49
帖 子:393
专家分:2025
注 册:2016-3-10
第
15
楼
得分:0
那你就计算字体大小和label1.width关系,预留半个字体位置,通过设置字体大小解决。
2018-07-20 12:24
liang008
等 级:
新手上路
帖 子:11
专家分:0
注 册:2018-7-18
第
16
楼
得分:0
回复 15楼 wds1
要求的字体是固定,没办法改变,现在已经换成TextBox替换了label,但是TextBox打印出来的字体与label的有点区别,只能先将就使用了,再次谢谢大家的热心帮助!
2018-07-20 14:21
16
2/2页
1
2
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-488668-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.022825 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved