リッチテキストボックスの内容とビットマップを重ね印刷

解決


adj  2006-03-17 00:32:52  No: 94622

リッチテキストボックスのデータを印刷し、その上にビットマップファイルを重ねて印刷したいと考えています
printerオブジェクトに対してbitmapをpaintpictureし、そのあとselprintしたところ画像が隠れたので(はみ出たところは印刷された)、selprint後にpaintpictureしたのですが、selprintの部分が印刷されません。
selprintの第2パラメータをtrue,false試してみたのですがselprint部分は印刷されません。解決法をご存知であればお教えください


魔界の仮面弁士  2006-03-17 02:26:01  No: 94623

RichTextBox.BackColor の部分も印刷対象なので、
背景色(通常は白でしょうね)で上書きされてしまうのでしょう。

どうも、簡単な解決策は無さそうです。

どうしてもという事ならば、印刷処理に Microsoft Word を使ってみては
如何でしょうか。これならば、背景画像を指定する事ができます。


adj  2006-03-17 06:32:53  No: 94624

ありがとうございます
wordの差込印刷?なのかなと思って今調べています
printerの代わりにpictureboxでやってみたら表示されたので
PictureBoxのVisibleをFalseにして、scalewidthとscaleheightを十分
大きい値にして、でっかいPictureBoxで展開したら
それなりの解像度が得られるかなと考えています
それをprinterにPaintPictureしてみるつもりです


adj  2006-03-17 20:19:33  No: 94625

初歩的なミスを犯していました、解決しました
最初のprinterの初期化を行っていないために、最初にリッチテキストボックス
の印刷ができていませんでした

結局先にリッチテキストボックスを印刷し、その後で小さいビットマップを
貼り付けることにしました

Printer.Print " "      '初期化
Form2.RichTextBox1.SelPrint Printer.hDC, False  'falseをつける

Set Pxi = LoadPicture(filename)
hh = Printer.ScaleWidth * Pxi.Height / Pxi.Width
Printer.PaintPicture Pxi, 0, 0, Printer.ScaleWidth, hh

Printer.EndDoc

前に書いたPictureBoxで展開する方法は失敗しました
どうもありがとうございました


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加