【環境】
VB6.0
WindowsXP(SP2)
テキストボックスに文字を表示、その文字をExcelのように
均等割り付けで表示したいのですが、
よい方法を教えてください。
Private Sub Form_Load()
Printer.ScaleMode = vbMillimeters
Text1.Text = "aaaa"
MsgBox Printer.TextWidth(Trim$(Text1.Text))
End Sub
上記を動かしてもらえばテキスト文字の長さがわかります。
後は平気ですよね??
私なら上記のようにやるけど他のみなさんはどうしますか??
>私なら上記のようにやるけど他のみなさんはどうしますか??
Win32 API 関数の SetTextCharacterExtra を使いますね。
文字間のエキストラペース量を取得するAPIなんですね。
勉強になります。
同じことがしたのですが
わかりません。
もうすこし教えていただけませんか?
Mさん こんにちは
> 同じこと
とは、「プリンタに均等割付で印刷する」ってことですか?
#さくら さんと、花ちゃん さんの回答はそういう趣旨ですね。
#よし さんの質問は、「TextBoxで均等割付表示したい」という意味に取れますけど・・・そういう趣旨の回答はありませんし。
要するに、「均等割付するための、文字間隔を自前で計算しましょう」ってことですよね?
「文字間隔」 = (「領域全体の幅」 - 「文字の幅の合計」) / (「文字数」 -1)
とか・・・
ツイート | ![]() |