Ширина текста в VB 6 - PullRequest
       42

Ширина текста в VB 6

0 голосов
/ 21 февраля 2012

Чтобы проверить ширину текста, как установить режим масштабирования?

Это -

    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 ]

3 голосов
/ 21 февраля 2012

В контексте формы, UserControl или UserDocument «Я» уже является частью пространства имен, поэтому просто используйте что-то вроде:

ScaleMode = vbInches

Вы можете использовать избыточную переквалификацию, если хотите, например:

Me.ScaleMode = vbInches

Поскольку вы не можете писать код внутри PictureBox (и, следовательно, в любом случае нет локального «Я»), вы пишете в контексте его контейнера, поэтому для установки свойства picScrollbox вы должны написать :

picScrollbox.ScaleMode = vbInches

То же самое верно для объекта Printer.

Но, пожалуйста, избегайте магических чисел и используйте встроенный Enum ScaleModeConstants, который облегчает чтение следующего символа для следующего парня.

0 голосов
/ 21 февраля 2012
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 в документации.

...