喫茶XRAYトップページ

[スレッド全体
]

[2709] Re2:2:「DesignedPaperSize」のテスト結果イメージを掲載返信 削除
2009/10/22 (木) 21:10:39 Mr.XRAY
> う〜ん.変ですね(苦笑)
> ちょっと待ってください.


以下のコードでテストしてみました.
上がA3,下がプレビューの[プリンタ設定]ボタンでA4にした結果です.
う〜ん(こればっかりですね),さて.

implementation

uses Printers;

{$R *.DFM}

//=============================================================================
//  DesignedPaperSizeのテスト
//  逐次表示方式のコード
//
//  フォームにplSetPrinterコンポーネントを配置して,適当なプリンタ名をセット
//  しておく
//=============================================================================
procedure TForm1.Button1Click(Sender: TObject);
begin
    //逐次表示方式では[プリンタ・用紙]のボタンが使用可能
    plPrev1.BtnOptions := plPrev1.BtnOptions+[boPrinterSetBtn];

    //3頁分
    plPrev1.PageCount := 3;

    //DesignedPaperSizeでA3を指定するのでA3用紙の横に設定
    plPrev1.plSetPrinter.PaperNumber := DMPAPER_A3;
    plPrev1.plSetPrinter.Orientation := poLandscape;

    //設計時の用紙設定(このDesignedPaperSizeを使用すると
    //印刷時に設定用紙サイズに拡大または縮小して印刷することができる
    plPrev1.DesignedPaperSize(2970,4200);
    plPrev1.ProcName := HogeHoge;

    //プレビュー開始.逐次表示方式にはShowメソッドはない
    plPrev1.ShowModal;
end;
//=============================================================================
//  実際の描画メソッド
//  このメソッド内に本コンポーネントのCanvasを使用したコードを記述.
//  複数頁の場合は,頁番号によって処理を分岐する.
//=============================================================================
procedure TForm1.HogeHoge;
begin
    if plPrev1.PageNumber = 1 then begin
      plPrev1.FontHeight (120);
      plPrev1.TextOut(100,300,'DesignedPaperSizeのテスト');
      plPrev1.TextOut(100,450,'[実行時のプリンタ設定でプレビューを確認]');
    end else

    if plPrev1.PageNumber = 2 then begin
      plPrev1.FontHeight (120);
      plPrev1.TextOut(100,300,'DesignedPaperSizeのテスト');
      plPrev1.TextOut(100,450,'[2頁目]');
    end else

    if plPrev1.PageNumber = 3 then begin
      plPrev1.FontHeight (120);
      plPrev1.TextOut(100,300,'DesignedPaperSizeのテスト');
      plPrev1.TextOut(100,450,'[3頁目]');
      plPrev1.Canvas.TextOut(100,600,'テストライン');
    end;

    //全頁共通の印刷コード
    //印刷可能領域に四角形を描画
    //少しは印刷領域の誤差があると思われるので1.0mm余裕をつける
    plPrev1.PenWidth(1);
    plPrev1.Rectangle(plPrev1.LeftOffset,
                      plPrev1.LeftOffset+plPrev1.PageWidth-10,
                      plPrev1.TopOffset,
                      plPrev1.TopOffset+plPrev1.PageHeight-10);
end;


[2710] Re3:2:「DesignedPaperSize」のテスト結果イメージを掲載返信 削除
2009/10/22 (木) 22:39:05 KSCHomePage
KSCです。

> 以下のコードでテストしてみました.
> 上がA3,下がプレビューの[プリンタ設定]ボタンでA4にした結果です.
> う〜ん(こればっかりですね),さて.


コードをコピペさせてもらい、テストしましたが同様の結果を得ました。

で、そんな中、ちょっと思ったのですが「逆転してませんか?」

【縮小】
 「A3」→「A4」の時に描画データが拡大されている。
 ([2709]記事のコードを実行した状態。)
【拡大】
 「A4」→「A3」の時に描画データが縮小されている。
 (こちらのソフトで確認しました。)


[2711] Re4:2:「DesignedPaperSize」のテスト結果イメージを掲載返信 削除
2009/10/22 (木) 23:04:59 Mr.XRAY
▼ KSCさん

> 【縮小】
>  「A3」→「A4」の時に描画データが拡大されている。
>  ([2709]記事のコードを実行した状態。)


ハハハッ,私なんか勘違いしていました.
そうですよね.明日にても修正します.
どうして,こんな勘違いを(冷や汗)
これじゃ,単に用紙サイズを変更しただけですね.

[▼次のスレッド]
INCM/CMT
Cyclamen v3.82