要检查文字宽度,如何设置缩放模式?
是吗 -
Debug.Print .ScaleMode = 1
或者
Me.ScaleMode = 1
哪一个有效?
我用以下代码测试它
Private Sub Command1_Click()
Dim xStr As String
xStr = "W"
With frmLabel
.Font.Name = "Arial"
.Font.Size = 10
'Debug.Print .ScaleMode = 1
'0 to 7
Me.ScaleMode = 7
Debug.Print .TextWidth(xStr) ' TextWidth = 435
.Font.Size = 14
Debug.Print .TextWidth(xStr) ' TextWidth = 645
End With
End Sub
我如何定义度量或单位的类型?我正在寻找英寸。
谢谢。
答案 0 :(得分:3)
在Form,UserControl或UserDocument“Me”的上下文中,“Me”已经是命名空间的一部分,所以只需使用如下内容:
ScaleMode = vbInches
如果您愿意,可以使用冗余资格过度,如:
Me.ScaleMode = vbInches
由于你无法在PictureBox中编写代码(因此无论如何都没有本地“我”)你在其容器的上下文中编写,所以要设置picScrollbox
你的属性写道:
picScrollbox.ScaleMode = vbInches
对于Printer对象也是如此。
但是请避免使用魔法数字并使用内在的枚举ScaleModeConstants
,它可以让下一个人更容易阅读符号名称。
答案 1 :(得分:0)
Me.Font.Name = "Arial"
Me.Font.Size = 10
Me.ScaleMode = vbInch ' 5
TextWidth返回宽度,如果使用Print输出文本,并使用Form 的当前Font 。您没有在问题的代码中设置表单的字体。设置 Me.Font 。 http://msdn.microsoft.com/en-us/library/aa267168(v=vs.60).aspx
以表格的ScaleMode属性确定的单位返回值。 ScaleMode的可能值位于文档http://msdn.microsoft.com/en-us/library/aa445668(v=vs.60).aspx
中另一次为什么不尝试上下文相关的帮助?在VB6 IDE代码视图中,将光标放在ScaleMode中,然后按F1直接进入文档中的ScaleMode主题。