2012-02-21 49 views
0

要檢查文本寬度,如何設置縮放模式?VB中的文本寬度6

它是 -

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

這是http://www.virtualsplat.com/tips/visual-basic-graphics.asp? – soclose 2012-02-21 04:13:19

回答

3

的形式,用戶控件,或UserDocument中的上下文中,「我」已經是命名空間的一部分,所以只使用類似:

ScaleMode = vbInches 

您可以使用冗餘overqualification如果你願意,如下所示:

Me.ScaleMode = vbInches 

既然你可以不寫代碼的PictureBox內(因此當地沒有「我」反正)你是寫在其容器的背景下,這樣設置picScrollbox你」的財產d寫:

picScrollbox.ScaleMode = vbInches 

打印機對象也是如此。

但是請避免幻數,並使用內在的Enum ScaleModeConstants,爲下一個人閱讀提供更容易的符號名稱。

0
Me.Font.Name = "Arial" 
Me.Font.Size = 10 
Me.ScaleMode = vbInch ' 5 

如果文本是使用打印與當前字體窗體的輸出文本寬度返回寬度。您沒有在問題中的代碼中設置表單的字體。設置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主題。