- PR -

画面ハードコピー印刷方法

1
投稿者投稿内容
Tom
会議室デビュー日: 2003/04/29
投稿数: 2
投稿日時: 2003-04-29 10:38
アクティブフォームのハードコピーを通常使うプリンタに印刷する方法をどなたかご教授ください。
Graphicsオブジェクトにスクリーンキャプチャしたビットマップを関連付け、そのGraphicsオブジェクトをPrintDocumentに充て込めばいいのかな、とおおまかには想像できるのですが、
具体的にどのようにコーディングすれば良いのかわかりません。
画面のハンドルとかの扱いが必要と思いますので、特に、その辺が。。。
ちなみに、言語はVB.NETを使用しております。
Tom
会議室デビュー日: 2003/04/29
投稿数: 2
投稿日時: 2003-05-03 17:47
Dim disp_g As Graphics = Me.CreateGraphics
Dim disp_HDC As IntPtr = disp_g.GetHdc
Dim bmp As New Bitmap(Me.Width, Me.Height)
Dim bmp_g As Graphics = Graphics.FromImage(bmp)
Dim bmp_HDC As IntPtr = bmp_g.GetHdc
Dim blnRet As Boolean

blnRet = BitBlt(bmp_HDC, 0, 0, bmp.Width, bmp.Height, disp_HDC, 0, 0, 0)

Dim clip As Clipboard
clip.SetDataObject(bmp)

ここまではコーディングしましたが、
BitBltの最後の引数に何を入れたら良いか、
BitBltのAPIの引数の型と.NETでの型が異なるためコンパイルエラーとなってしまう、
の2点が解決しません。
.NETでBitBltのAPIは使えないものなのでしょうか?

なお、ここでは、プリンタに出力する代わりにクリップボードに格納しています。
石野 光仁
会議室デビュー日: 2002/04/18
投稿数: 18
投稿日時: 2003-05-06 18:21
こんにちは

C#を使ってフォーム印刷の解説をしています。
参考になればと思いまして・・・

http://www.ailight.jp/FormPrint.aspx

どうでしょうか?
1

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