VB 6中的文本宽度

时间:2012-02-21 03:36:18

标签: vb6 scale text-width

要检查文字宽度,如何设置缩放模式?

是吗 -

    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

我如何定义度量或单位的类型?我正在寻找英寸。

谢谢。

2 个答案:

答案 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主题。