- PR -

印刷をする祭に文字列を右寄せで印刷する方法

1
投稿者投稿内容
たにくん
会議室デビュー日: 2005/01/19
投稿数: 19
投稿日時: 2005-02-19 12:28
数の合計等を印刷するときに、左寄せではなくて、右寄せで印刷したいのですが、どうすればよいでしょうか?
環境:XP VB.Net windousaアプリケーション 
クリスタルレポート搭載されていません。

下記が今使用してるソースです。

Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage

Dim FontCell As New Font("MS UI Gothic", 9)
e.Graphics.DrawString("はじめての印刷", FontCell, New SolidBrush(Color.Black), 50, 50)

end sub
Lin
ベテラン
会議室デビュー日: 2004/11/08
投稿数: 50
投稿日時: 2005-02-19 13:21
MeasureStringで文字列幅を測って、右揃えの基準位置のX座標から
引いて指定するというのでどうですか。
たにくん
会議室デビュー日: 2005/01/19
投稿数: 19
投稿日時: 2005-02-19 13:44
解答ありがとうございます。
イメージとしては、描画するポイントから左詰めに書き込まれるので
それを描画するポイントから右詰めで書き込みされるようなオプション等があればいいと考えています。
Os_
ベテラン
会議室デビュー日: 2003/04/16
投稿数: 77
投稿日時: 2005-02-19 14:19
書式属性を指定する StringFormat のメソッド Alignment を指定し、
Graphics.DrawString に、この StringFormat オブジェクトを設定することで可能です。
Lin
ベテラン
会議室デビュー日: 2004/11/08
投稿数: 50
投稿日時: 2005-02-19 19:43
ああ、こんないい方法が。
私も勉強になりました。
たにくん
会議室デビュー日: 2005/01/19
投稿数: 19
投稿日時: 2005-02-21 15:19
返事がおそくなりまして、申し訳けありません。
Os_様
ありがとうございます。

Dim FontCell As New Font("MS UI Gothic", 9)
Dim drawFormat As New StringFormat
drawFormat.Alignment = StringAlignment.Far

e.Graphics.DrawString("はじめての印刷", FontCell, New SolidBrush(Color.Black), 50, 50,drawFormat)

上記で出来ることが出来ました!
他にもプリントするテクニックが出来るようなのでヘルプを見ながらやってみます。

1

スキルアップ/キャリアアップ(JOB@IT)