Delphi Programming / Object Pascal
[掲載 2009年03月11日] [更新 2016年04月19日] 印刷プレビュー制御コンポーネント |
印刷プレビュー制御コンポーネント
コンポーネントを実行時に生成して使用する場合 |
動作確認等 |
Windows 7 U64(SP1) + Delphi XE(UP1) Pro で作成 |
|
図1
実行結果 |
リスト1
印刷プレビュー制御コンポを実行時に生成して使用する例 |
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private 宣言 }
public
{ Public 宣言 }
end;
var
Form1: TForm1;
implementation
uses plPrev, Printers;
{$R *.dfm}
//=============================================================================
// 印刷プレビュー制御コンポーネントを実行時に生成して利用する方法
//
// usesにplSetPrinter,plPrevが必要
// またpoLandscape等の定数名の使用にはusesにPrintersが必要
//=============================================================================
procedure TForm1.Button1Click(Sender: TObject);
var
LplPrev1 : TplPrev;
LText : string;
begin
//印刷プレビュー制御コンポーネントを生成
LplPrev1 := TplPrev.Create(Self);
//FormPostionをDesignedまたはpoDesktopCenter等にしないと高さ幅はデフォルト
LplPrev1.FormPosition := poMainFormCenter;
LplPrev1.FormHeight := 550;
LplPrev1.FormWidth := 700;
try
//ここでプリンタと印刷関係の設定
LplPrev1.plSetPrinter.PaperNumber := DMPAPER_A5;
LplPrev1.plSetPrinter.Orientation := poLandscape;
//印刷する文字列
LText:='印刷テスト';
LplPrev1.Title:='モーダル表示';
//描画コード開始
LplPrev1.BeginDoc;
try
//線の太さは0.5mm
LplPrev1.Canvas.Pen.Width := 5;
//左から50.0mm上から80.0mmで幅100.0mm,縦120.0mmの四角形
LplPrev1.Canvas.Rectangle(500, 800, 1500, 2000);
//文字の高さを10.0mmに
LplPrev1.Canvas.Font.Height := 100;
//四角形の左上に文字列Textを描画
LplPrev1.Canvas.TextOut(500, 800, LText);
//印刷する文字列の高さ確認のための線を引く
LplPrev1.Canvas.Pen.Width := 1;
LplPrev1.Canvas.MoveTo(500, 900);
LplPrev1.Canvas.LineTo(1500, 900);
finally
//描画コード終了
LplPrev1.EndDoc;
end;
//プレビュー開始
LplPrev1.ShowModal;
finally
FreeAndNil(LplPrev1);
end;
end;
end.
|