環境はVB6(SP6),WinXPです。
リッチテキストを書式付きで印刷したいので,
RichTextBox1.SelPrint(Printer.hDC)
で印刷を処理しています。
しかし,用紙設定や,余白の設定方法がわからず悩んでおります。
Printerオブジェクトを使用してもその設定は無視されるようですし,
CommonDialogを使用しての印刷は避けたいと思っております。
何か良い案がありましたら,教えてください。
プリンタオブジェクトの余白を引いた分のデバイスコンテキストを作成
しておき、そこへSelPrintで描画してやる。
その後、そこのデバイスコンテキストよりプリンタのデバイスコンテキストへ
余白を入れてBitBltなりStretchBltを使ってコピーしてやるとか。
030さん,ご返答ありがとうございます。
正直,デバイスコンテキスト,BitBlt,StretchBltの意味(使い方)が
私なりに調べても理解できませんでした。すみません。
しかし,やろうとしていることは何となく理解できました。
私も色々調べているうちに,ここが参考になりました。
http://support.microsoft.com/default.aspx?scid=kb;ja;146022
SelPrintでの印刷ではありませんが,使えます。
ここでも,サンプルプログラムの動きが理解できない箇所はあるものの
余白の設定は簡単に変更できましたし,用紙サイズや印刷向きなども簡単に
変更できそうです。
自己レスで解決にしようとしたら,030さんの発言があり,ご迷惑をおかけ
いたしました。
ありがとうございました。
ツイート | ![]() |