▼ Saraさん
プレビューで回転するのはなしですね.
プレビューが 90 度回転の表示だったら用紙の向きの変更になってしまいます.ハハハッ
TplPrev.Print メソッドに以下の部分があります.
GetMetaImage(i) で i 頁目のメタファイルが取得できます.
90 度回転をやるとすると,このメタファイルのビットマップを取得して,
それを 90 度回転したビットマップを Printer.Canvas に描画すれば OK だと思います.
ただ,この機能をどのように実装するかですね.
私だと GDI+ を使ってしまうかも知れません.
if FInversePrint then begin
Printer.Canvas.StretchDraw(Rect(FViewWidth, FViewHeight, 0, 0), GetMetaImage(i));
end else begin
//この部分を改造する
//プロパティを追加して分岐するようにしてもいいかも知れない
Printer.Canvas.StretchDraw(Rect(0, 0, FViewWidth, FViewHeight), GetMetaImage(i));
end;
もう 1 つ問題があります.
印刷開始の前に用紙の向きを変える必要があると思います.
|