タイトルのまんまです。
仮想上でPrintScreenを実行させ、デフォルトプリンタを指定。A4サイズで印刷する。
と言う感じです。
印刷系が苦手なので、得意な方よろしくお願いします。
追々詳しい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\にあるヘルプを読むと、
プリンタの扱いは自由自在にできるようになります。
ツイート | ![]() |