Delphi Programming / Object Pascal
[掲載 2001年02月04日] [更新 2016年04月30日] Query 印刷コンポーネント |
Query 印刷コンポーネント
イベント |
動作確認等 |
図は Windows 7 U64(SP1) + Delphi XE(UP1) Pro で作成 |
Ver4.0 では,プレビューフォーム関係のイベントを追加しました.これにより,フォームを表示しなくてもプレビューフォームのイベントを作成することが可能となりました. |
|
図1
イベント一覧 |
OnBeforeView (Sender, Page)
各々の頁をプレビューまたは印刷する前に発生するイベントです.このイベント発生時点で頁数プロパティが確定しています.したがって,このイベントを利用すると総頁数の印刷が可能です.このイベント内では Canvas への描画が可能です. |
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
Page |
Integer |
これから表示または印刷する頁の番号 |
procedure TForm1.plQueryPrev1BeforeView(Sender: TObject; Page: Integer);
var
LPageStr : string;
begin
//文字のサイズ
plQueryPrev1.FontSize(12);
//頁番号の文字列を作成
LPageStr := IntToStr(Page) + '/' + IntToStr(plQueryPrev1.PageCount);
//X=105.0mm,Y=270.0mmに位置に文字列を描画
plQueryPrev1.TextOutCC(1050, 2700, LPageStr);
end;
OnNoPrintDraw(Sender, Page)
このイベント内に書いたコードは印刷しません.また描画のクリップもしません.印刷はしないが,プレビューはしたい描画に使用します. |
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
Page |
Integer |
頁番号 |
OnReportStart(Sender, YPos)
引数 YPos の値を変更すると印刷開始 Y 座標値を変更できます.デフォルトは上マージンです.このイベント内で Canvas への描画が可能です. |
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
var YPos |
Integer |
上マージンの値
このY座標値から罫線を描画する |
OnReportEnd(Sender, Page, YPos)
全頁分の描画が終了する直前に発生します.このイベント後に最終頁のメタファイルイメージの作成が終了します.このイベント内では Canvas への描画が可能です. |
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
Page |
Integer |
現在の頁番号で,PageCount プロパティに等しい値 |
YPos |
Integer |
描画を終了した頁の一番下の横罫線の Y 座標値 |
OnHeader(Sender, Page, YPos)
他のイベント内でもヘッダ部やフッタ部に描画コードを書くことはできますが,このイベントではヘッダマージンの値を引数から取得できます.このイベント内では Canvas への描画ガ可能です. |
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
Page |
Integer |
頁番号 |
YPos |
Integer |
ヘッダマージンの値 |
OnFooter(Sender, Page, YPos)
他のイベント内でもヘッダ部やフッタ部に描画コードを書くことはできますが,このイベントでは,フッタマージンの値を引数から取得できます.このイベント内では Canvas への描画が可能です. |
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
Page |
Integer |
頁番号 |
YPos |
Integer |
フッタマージンの値 |
OnBeforePrintCell(Sender,
Rect,
ACol,
ARow,
PageRow,
Text,
fDataRow)
引数の Text の値を変更すると,描画する内容を変更することができます.
このイベント内では,Canvas への描画が可能です. |
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
Rect |
TRect |
ACol と ARow で決まる矩形領域の TRect 構造体 |
ACol |
Integer |
セルの列番号
一番左が 0 |
ARow |
Integer |
fDataRow = True の時データ行の番号で 0 からの値
0 はタイトル行
fDataRow = False の時は集計行
Row = 0 が一番内側の小計行
|
PageRow |
Integer |
この頁だけの行番号
頁が変わる度に 0 から始まり,0 はタイトル行 |
var Text |
String |
セルの文字列
このテキストを変更すると描画内容を変更できる |
fDataRow |
Boolean |
True の時はデータ行で.False の時は集計行 |
OnBeforePrintCell(Sender,
Rect,
ACol,
ARow,
PageRow,
Text,
fDataRow)
このイベントを定義すると,全てのセルのデータを描画しません.罫線は描画します.セルに独自の内容を描画したい場合に使用します.このイベント内では,Canvas への描画が可能です. |
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
Rect |
TRect |
ACol と ARow で決まる矩形領域の TRect 構造体 |
ACol |
Integer |
セルの列番号
一番左が 0 |
ARow |
Integer |
fDataRow = True の時はデータの行番号
0 から始まる値.ただし 0 の時はタイトル行
fDataRow = False の場合は集計行
Row = 0 の時が一番内側の小計行
|
PageRow |
Integer |
この頁だけの行番号
頁が変わる度に 0 から始まり,0 はタイトル行 |
Text |
String |
セルの文字列
OnBeforezPrintCell イベントと違い,このテキストを変更しても効です.参照用 |
fDataRow |
Boolean |
True の時はデータ行
False の時は集計行 |
OnAfterGroupPrint(Sender, ChangePage, YPos)
Grouping を Ture にした項目の描画が終了する度に発生します.複数の項目を Ture にしている場合は,最初の項目のグループ (項目値が同じデータ) を描画した後,またはグループ計 (小計) の描画後に発生します.
引数の YPos の値を変更すると,次の行と間に空白を挿入することができます.また,PageHeight (PrintHeight) と CellHeight の値から,後何行描画可能かも計算できます.このイベント内では,Canvas への描画が可能です. |
引数 |
型 |
説明 |
Sender |
TObject |
コンポーネント自身 |
ChangePage |
Boolean |
True の時は印刷後改頁する |
var YPos |
Integer |
次のデータの描画開始Y座標値
ChangePage が True の時は意味のない値 |
OnPrintBtnClick(Sender, CanPrint)
プレビューフォームの [印刷 ]ボタンで,印刷ダイアログを表示した時に発生します.このイベント内では Canvas への描画はできません. |
引数 |
型 |
説明 |
Sender |
TObject |
プレビューフォーム |
var CanPrint |
Boolean |
この値を False にすると印刷しない
デフォルトは Ture で印刷する |
各頁のメタファイをプリンタに出力した後に発生します.このイベント内では,Canvas への描画はできません. |
引数 |
型 |
説明 |
Sender |
TObject |
本コンポーネント |
Page |
Integer |
出力した頁番号 |
プレビューフームを表示する際に発生します.TForm の OnShow イベントと同様の使い方ができます.プレビューフォームのユニット内に印刷用のコードを書く時は,この OnFormShow 内に書きます.ただし,Canvas への描画はできません. |
引数 |
型 |
説明 |
Sender |
TObject |
プレビューフォーム |
OnFormClose(Sender, Action)
プレビューフームを閉じた時に発生します.TForm の OnClsoe と同じです.
このイベント内では,Canvas への描画はできません. |
引数 |
型 |
説明 |
Sender |
TObject |
プレビューフォーム |
var Action |
TCloseAction |
TForm の Action と同じ |
Close メソッドが呼ばれた時,あるいは,システムの閉じる動作を行った時に発生します.TForm の OnCloseQuery と同じです.このイベント内では,Canvas への描画はできません. |
引数 |
型 |
説明 |
Sender |
TObject |
プレビューフォーム |
var CanClsoe |
Boolean |
TForm の CanClose と同じ |
プレビューフォームが破棄された時に発生します.TForm の OnDestroy と同じです.このイベント内では,Canvas への描画はできません. |
引数 |
型 |
説明 |
Sender |
TObject |
プレビューフォーム |
|