全体画面を印刷するには?


ごめす  2004-01-10 02:38:06  No: 6646

タイトルのまんまです。

仮想上でPrintScreenを実行させ、デフォルトプリンタを指定。A4サイズで印刷する。
と言う感じです。

印刷系が苦手なので、得意な方よろしくお願いします。


sadoyama  URL  2004-01-10 06:47:05  No: 6647

追々詳しいresがたくさんつくと思います。

公式には、TPrinter を使う事になっています。
TForm.CanvasやTImage.Canvasに画像を描画するのと同様に
TPrinter.Canvasに描画を行い、印刷実行を指示するだけです。
[例]
uses にPrintersを追加
PrintDialogコンポを配置

var
  Rect: TRect;
begin
  if not PrintDialog1.Execute then
    Exit;

  // Printer.Canvas上の描画範囲を指定
  Rect.Top  := ?;
  Rect.Left := ?;
  Rect.Right  := ?;
  Rect.Bottom := ?;

  Printer.BeginDoc;
  Printer.Canvas.StretchDraw(Rect, RBMP);
  Printer.EndDoc;
end;

EndDoc(ument?)が印刷開始指示です。

しかし、用紙の選択はまだ良いとしても、
プリンタ機種の指定は面倒ですし、
さまざまな細かい指定に至っては、書籍等にあるとおりにしても実現しないことが少なくありません。
そもそも、プリンタにその機能があるかどうかも確認できない場合があります。

そういう訳で、わが国では中村拓男氏の労作NkPrinterを使うことになっているようです。
http://www.asahi-net.or.jp/~HA3T-NKMR/deldown.htm
よりnkprn052.lzhをダウンロードします。

解凍したフォルダ Doc\Help\にあるヘルプを読むと、
プリンタの扱いは自由自在にできるようになります。


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

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






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