掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
PrintDialogで選択したプリンターで印刷するには? (ID:84907)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
ちょっと事情がありまして、 >PrinterDefault = False の状態でも、プリンタの設定はできますが、 >その場合、Printerオブジェクトは変更されませんから、コントロールの >hDC プロパティに渡されるハンドルに対して、RichTextBox.SelPrint 等で >印刷を行う事になります。 この場合も模索しております。 このときに得られるhDC を使って、TextOutなどを使って描画できることを確認したのですが、 Printerオブジェクトが使えないと、余白の計算が出来ないという壁にぶつかってしまいました。 私が現在知っている余白の計算方法は、 LeftMargin = Printer.ScaleX(GetDeviceCaps(Printer.hDC, PHYSICALOFFSETX), vbPixels, vbMillimeters) とやるか、 LeftMargin = Round(GetDeviceCaps(Printer.hDC, PHYSICALOFFSETX) * Printer.TwipsPerPixelX / 56.7, 1) とやるか、なのですが、 (どちらにしても計算の深い意味はよく理解できていません…^_^;) Printer.TwipsPerPixelXの値が手に入らなくてこまっております。 PrinterDefault = Falseの状態で、flags = cdlPDReturnDCのときに得られるhDCを使って、Printer.TwipsPerPixelXを得るにはどうしたらよいのでしょうか? (hDCがPrinterオブジェクトのように使えればいいのに…。) 引き続き、ご指導をよろしくお願い申し上げます!!
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.