Sub fact(str As String)
While Len(str) > Form2.Width / 90
循环,如果字符串长度大于窗体所能容纳的字符数,字符宽度按6像素算(估算,按默认缇计算,按默认DPI计算),
Print Left(str, Form2.Width / 90 - 1)
取窗体所能容纳的最大字符,并显示
str = Mid(str, Form2.Width / 90 - 1)
去掉已显示的字符
Wend
End Sub
这个函数,通用性,比较差,并且不支持中文,如果放中文,会导致宽度控制有误差。
另:因为英文字符并不是所有的字体里的字母是等宽的,所以如果字体不同,也会导致宽度控制有误差,表示在 右边对不齐。
------------------
90 ,如果没修改任何属性和屏幕的DPI的话, 窗体宽度 单位为缇,按默认DPI,每像素等于15缇。90就是 6像素宽。
6像素宽的英文字符,刚查了一下,
八号=5磅(5pt)=6px
--------------
(C#里面我一般文字放label里面),如果VB使用 label 的话,也是自动换行。
[此贴子已经被作者于2016-3-3 11:57编辑过]