掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
フォーム印刷時に綴じ代を考えて,紙の左側余白を大きくするには? (ID:4228)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
基本的には、Printer.Canvasへ出力することになります。 TMemoを印刷するときに、 Canvas.TextOut(...) で1行ずつ印刷しているのはわかりますよね。 Canvasプロパティは、TCanvasクラスのオブジェクトですので、TCanvasのメソッドが使えます。 TCanvasの中には、Drawメソッドがあり、位置を指定してTGraphicオブジェクトを描画できます。 先に挙げたGetFormImageは、TBitmapオブジェクトを返します。 TBitmapは、TGraphicの派生クラスなので、Drawメソッドで使用することができます。 TMemoの印刷の例にあわせるなら、 procedure TForm1.Button1Click(Sender: TObject); var r: TRect; i: Integer; FormImage: TBitmap; begin FormImage := GetFormImage; with Printer do begin BeginDoc; // (200,200)の位置にフォームを描画 Canvas.Draw(200,200, FormImage); EndDoc; end; FormImage.Free; end; こんな感じでしょうか。未確認です。 # Memoの例であった枠は表示していません
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.