お世話になります。VB6.0を使っています。
Formそのものを印刷しようとしているのですが、
Form1.PrintForm
で印刷はできるのですが、用紙の左上に印刷されてしまいます。
用紙の中央に印刷するにはどうすればいいでしょうか。
ヘルプ[アプリケーションからの印刷]より抜粋
>テキストやグラフィックスをプリンタで印刷するには、次の 3 つの方法があります。
> ・出力する内容をフォーム上に表示し、PrintForm メソッドを使ってフォームを印刷します。
> ・Printers コレクションのメンバを通常使うプリンタに設定し、テキストやグラフィックスをプリンタに送ります。
> ・テキストやグラフィックスを Printer オブジェクトに送り、NewPage メソッドと EndDoc メソッドを使って印刷します。
PrintForm メソッドに関して中央に印刷するなどの設定をする方法は知りません。結構プリンタの
設定に依存してたようにも思いますが…。プリンタの設定にもともと中央に表示する設定があるなら
それを使うのが簡単だと思います。フォームから呼び出す場合は、CommonDialog の ShowPrinter
メソッドで呼び出せます。設定から印刷までプログラムで行うのは無理だとおもいますが…。
Printer オブジェクトを使った印刷で ScaleHeight、ScaleWidth プロパティから計算するのが
一般的な方法ではないかと思います。
Pinterオブジェクトでできました。
ありがとうございます。
実はPrinterオブジェクトの使い方がイマイチ分かってなくて
逃げてたんです。
分かっちゃうと簡単なものなんですね。
色々と設定できるみたいですし。
ツイート | ![]() |