余白や用紙設定をしてリッチテキストを書式付きで印刷するには?

解決


えじ  2005-07-31 23:37:09  No: 123877

環境はVB6(SP6),WinXPです。
リッチテキストを書式付きで印刷したいので,
  RichTextBox1.SelPrint(Printer.hDC)
で印刷を処理しています。
しかし,用紙設定や,余白の設定方法がわからず悩んでおります。
Printerオブジェクトを使用してもその設定は無視されるようですし,
CommonDialogを使用しての印刷は避けたいと思っております。
何か良い案がありましたら,教えてください。


030  2005-08-02 06:42:42  No: 123878

プリンタオブジェクトの余白を引いた分のデバイスコンテキストを作成
しておき、そこへSelPrintで描画してやる。
その後、そこのデバイスコンテキストよりプリンタのデバイスコンテキストへ
余白を入れてBitBltなりStretchBltを使ってコピーしてやるとか。


えじ  2005-08-02 07:33:12  No: 123879

030さん,ご返答ありがとうございます。
正直,デバイスコンテキスト,BitBlt,StretchBltの意味(使い方)が
私なりに調べても理解できませんでした。すみません。
しかし,やろうとしていることは何となく理解できました。

私も色々調べているうちに,ここが参考になりました。
http://support.microsoft.com/default.aspx?scid=kb;ja;146022

SelPrintでの印刷ではありませんが,使えます。
ここでも,サンプルプログラムの動きが理解できない箇所はあるものの
余白の設定は簡単に変更できましたし,用紙サイズや印刷向きなども簡単に
変更できそうです。

自己レスで解決にしようとしたら,030さんの発言があり,ご迷惑をおかけ
いたしました。

ありがとうございました。


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




  


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