WindowsXP VB6sp6で開発しております。
過去ログの以下のコードを参考にさせていただき、印刷機能を作成しました。
Printer.ScaleMode = 6
Printer.Font.Size = 10
Printer.CurrentX = 50
Printer.CurrentY = 50
Printer.Print TextBox.Text
Printer.EndDoc
しかし、この場合の位置指定はtextboxの文字列の一番左の位置を指定していると思います。
2桁、3桁と増えていくにつれて、右へ行ってしまうのですが、印刷位置を文字列の中心で指定できないでしょうか?
よろしくお願いします。
「TextWidth メソッド」で、文字列の幅を求めて、
その半分をずらして指定してください。
以下は、VB6のヘルプ(MSDNライブラリ)の
「Print メソッドの出力位置の設定」より抜粋。
------------------------------------------------------
TextWidth メソッドは、そのオブジェクトのフォント サイズとフォント
スタイルに基づいて、指定のテキストの幅 (文字列の長さ) を返します。
(中略)
または Printer オブジェクトの幅よりも大きいかどうかを判断するときに
TextWidth メソッドを利用すると便利です。
次のステートメントは、あるボックスの中央にテキストを表示するために、
TextWidth メソッドと TextHeight メソッドを使って CurrentX プロパティと CurrentY プロパティを設定しています。
CurrentX = (BoxWidth - TextWidth("MealCard")) / 2
CurrentY = (Boxheight - TextHeight("MealCard")) / 2
------------------------------------------------------
>大吉末吉さん。
これを使えばうまく中心に印刷できそうです。
ありがとうございました。
ツイート | ![]() |