0

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

是吗 -

    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

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

谢谢你。

4

2 回答 2

3

在 Form、UserControl 或 UserDocument 的上下文中,“Me”已经是命名空间的一部分,所以只需使用类似的内容:

ScaleMode = vbInches

如果您愿意,可以使用多余的超额资格,如:

Me.ScaleMode = vbInches

由于您不能在 PictureBox 内编写代码(因此无论如何都没有本地“我”),因此您正在其容器的上下文中编写代码,因此要设置 a 的属性,picScrollbox您将编写:

picScrollbox.ScaleMode = vbInches

打印机对象也是如此。

但是请避免使用幻数,并使用ScaleModeConstants提供符号名称的内在枚举,以便下一个人更容易阅读。

于 2012-02-21T06:36:09.000 回答
0
Me.Font.Name = "Arial"
Me.Font.Size = 10
Me.ScaleMode = vbInch ' 5

如果文本是使用 Print 和Form的当前 Font 输出的,则 TextWidth 返回宽度。您没有在问题的代码中设置表单的字体。设置Me.Fonthttp://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 主题。

于 2012-02-21T06:47:23.423 回答