任意の文字や図形を紙に直接印刷する場合,VB5ではPrinterオブジェクトが使えました。プロパティとして,FontName, FontSize, CurrentX,Yなどがあり,あらゆる要素を自由に指定して印字が可能でした。印字のコマンドは
Printer.Print "任意の文字列"
で,極めて簡単明快でした。
VB2005に切り替えてから,同様の機能を探しましたが,まだ見つけられずにおります。
PictureBoxに文字や図形を出力してから,PictureBoxまるごと印刷するしかないのでしょうか。御教示下さい。
下記のサイトの印刷関係が参考なるかと。
http://hanatyan.sakura.ne.jp/dotnet/index.html
印刷位置をmm単位で指定しての簡単なテキストの印刷
http://hanatyan.sakura.ne.jp/dotnet/Prt03.htm
花ちゃんさん,ありがとうございました。
御紹介頂いたページを拝見しました。小生の目的に叶うかどうか,これからテストして見ます。
いろいろ試行しましたが,下記の方法でうまくいきました。
図形も,線,円,四角等を自由に描けました。
Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
PrintDocument1.Print()
End Sub
Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System. _
Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
Dim g As Graphics = e.Graphics
g.PageUnit = GraphicsUnit.Millimeter'mm単位指定
g.DrawString("任意の文字列",New Font("フォント名", フォントサイズ), Brushes.Black, x位置, y位置)
End Sub
もちろんフォント名やペン名を別に定義して代入する方法もOKです。
花ちゃんさんありがとうございました。改めてお礼申し上げます。
ツイート | ![]() |