VB VS 【江湖告急】【跪求】 关于Label 的问题

来自:IT    更新日期:早些时候
VB LABEL求助!!!~

都是一样的。

【label=file1.filename】
这条语句可以成立的原因是因为Label控件的默认属性是“Caption”。

【label.caption=file1.filename】
这条语句声明了Label的属性。

建议选择后者。

Private Sub Timer1_Timer()
Cls
Print "纽约时间的北京奥运会开幕时间为"; Adate
Print "目前为止还有"; DateDiff("d", Date, #8/8/2012#); "天 ";
Print Format(DateAdd("s", DateDiff("s", Time, #8:40:00 PM#), 0), "h小时m分钟s秒")
Label1.AutoSize = True
Label2.AutoSize = True
Label1.Caption = "纽约时间的北京奥运会开幕时间为" & Adate
Label2.Caption = "目前为止还有" & DateDiff("d", Date, #8/8/2012#) & "天 " & Format(DateAdd("s", DateDiff("s", Time, #8:40:00 PM#), 0), "h小时m分钟s秒")
End Sub

可以啊,三个重点:
1. 获取label的宽度,即label.width,这里用A表示
2. 获取你要输入的文本的宽度,用textwidth函数,这里用B表示
3. 获取每行的高度,用textheight函数,这里用C表示

然后B\A+1,代表需要多少行,然后乘以C,得到结果H,H就是你的label的高度,令label.height=H即可。

提醒你一下,因两行之间有间隙,所以这个高度可能有点小,到时候你微调一下,调到合适以后是可以算出这个间隙的

Label 控件没有具有这些属性,不过你可以用Text代替Label 控件,要想让Text 像一个Label ,你只需在窗体加载时用这样的代码:
Text1.BackColor = Form1.BackColor
Text1.Appearance = 0
Text1.BorderStyle = 0
然后你就可以设定你的要求了。

Label1.AutoSize = True
Label1.WordWrap = True
Label1.Caption = "中华人民共和国"

http://www.vbgood.com/article-728.html 可以参考一下把



这个我也考虑过,但是这个行数很难确定
因为TEXT很长,有几百KB啊,而且是分开几大段的
不知道VS里能不能用Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const EM_GETLINECOUNT = &HBA呢,我先试试
不知道您能否提供其他 能在VS 里获得 Mutiline为TURE 的Testbox 的总行数 的函数或方法之类的
呵呵,对于api我不是很了解,不过我搞不明白这么长的文本你为什么要用label控件显示呢?

没办法,没有其他适合的控件
目前最符合我要求的只有他了
╮(╯▽╰)╭ 唉..............
用picturebox控件行不行啊?

(⊙o⊙)?
可以的吗?
可以啊。我曾经用这个控件做过打印预览,效果挺不错的。
而且还可以设置行距,主要就是用的这个控件的print方法。另外用textwidth和textheight两个函数检测文本的宽度和高度。
一般文本的宽度是与字节数成正比的,有了宽度你可以计算出字节数,然后在原文本中用lenb函数返回你需要的字节数。

我需要背景能透明的,而且是改变 *高度* 来换行,不是只在控件内部换行

不知道您能否提供 VS 里获得 Mutiline设置为TURE 的Testbox 的总行数 的函数或方法之类的
VB6。0里我也试过,可以的


VB VS 【江湖告急】【跪求】 关于Label 的问题视频

相关评论:

相关主题精彩

版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

Copyright © 喜物网