VB VS 【江湖告急】【跪求】 关于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 的问题视频
相关评论: