どの検索用語を使用すればよいかわかりませんが、これは単純なはずです...文字列の幅をインチ単位で決定するにはどうすればよいですか。
Dim sSize As System.Drawing.SizeF
Dim fFont As New Font("Arial", 12)
sSize = Me.CreateGraphics().MeasureString(txtAddr.Text, fFont)
ここでの単位は、IDE が使用しているものです。それが定数値かどうかはわかりませんが、変換が簡単な場合はそうです。
とにかく、指定されたフォントを使用してテキストが 100% で印刷されたときに、返された単位をインチに変換したいと考えています。それ、どうやったら出来るの?
ありがとうハンス!
Dim boxGraphics As Graphics = txtAddr.CreateGraphics()
Dim sSize As System.Drawing.SizeF = boxGraphics.MeasureString(txtAddr.Text, New Font("Arial", 12))
Dim iInches As Single = sSize.Width / boxGraphics.DpiX
興味のある方のための DYMO LabelWriter 450 コードの始まり:
' project ref to DYMO.Label.Framework .net 3.5/4
' Imports DYMO.Label.Framework
Dim olabel As Label
olabel = Label.Open("H:\INFO\Forms\ADMIN\Dymo Labels\APCDAddress.label")
olabel.SetObjectText("ADDRESS", txtAddr.Text) ' case sensitive
olabel.Print("\\PC3090-117\DYMO LabelWriter 450 Twin Turbo")
MsgBox("Printed")
ラベルには大きすぎる可能性のある住所テキストを処理するコードを追加する予定です。したがって、OP. DYMO レイアウトは、テキストに合わせて縮小するように設定できますが、住所ラベルを作成する際には実際的な制限があります。