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 の内部にコードを書くことはできないため (したがってローカルの "Me" はありません)、そのコンテナーのコンテキストで記述しているため、 のプロパティを設定するには、次のようにpicScrollbox記述します。

picScrollbox.ScaleMode = vbInches

同じことが Printer オブジェクトにも当てはまります。

ScaleModeConstantsただし、マジック ナンバーは避けて、次の人が読みやすい記号名を提供する組み込みの Enum を使用してください。

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

TextWidthは、フォームの現在のフォントでPrintを使用してテキストが出力された場合の幅を返します。質問のコードでフォームのフォントを設定していません。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トピックに直接移動します。

于 2012-02-21T06:47:23.423 に答える