▼ M&Iさん.こんにちは.
> Embercadero US online shopで$499でした・・・あれっ?
あまり変わらないような...
といううわけで,FireMonkeyでの印刷テストです.
FireMonkeyを使うのは,これが最初で最後かも... ?
動作確認環境は,Windows XP(SP3) + Delphi XE2 Pro FMX-32bit
(2011/09/08変更)
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Dialogs, FMX.Printer, FMX.Colors;
type
TForm1 = class(TForm)
Button1: TButton;
PrintDialog1: TPrintDialog;
Panel1: TPanel;
procedure Button1Click(Sender: TObject);
private
{ private 宣言 }
public
{ public 宣言 }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
//-----------------------------------------------------------------------------
// FireMonkey印刷テスト
// usesにFMX.Printerが必要
//-----------------------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
Atext : String;
ARect : TRectF; //TRectではなくTRectF
H : Single; //IntegerではなくSingle
W : Single; //IntegerではなくSingle
begin
AText := 'FireMonkey印刷テストです';
if PrintDialog1.Execute then begin
Printer.Title := 'テスト印刷';
Printer.BeginDoc;
Printer.Canvas.Font.Size := 48; //1/2インチ(デバイス非依存値)
H := Printer.Canvas.TextHeight(AText);
W := Printer.Canvas.TextWidth(AText);
ARect.Top := 500;
ARect.Bottom := ARect.Top + H;
ARect.Left := 500;
ARect.Right := ARect.Left + W;
Printer.Canvas.Fill.Color := claGreen;
//FillTextか.便利な関数があるんだ.VCLにはないのかな?
Printer.Canvas.FillText(ARect,
AText,
False,
$FFFF,
[],
TTextAlign.taLeading,
TTextAlign.taLeading);
ARect.Top := ARect.Top + 500;
ARect.Bottom := ARect.Top + H;
Printer.Canvas.Fill.Color := claRed;
Printer.Canvas.FillText(ARect,
AText,
False,
$FFFF,
[],
TTextAlign.taLeading,
TTextAlign.taLeading);
Printer.EndDoc;
end;
end;
end.
>ようやっとSEshop.comでXE2 Pro版の購入手続きしました.
それにしても早いですね.1日もたたすにDL(ダウンロード)可能になりました.
インストールは,XEに較べて更によくなった気がします
|