AFsoft WebSite(エーエフソフト・ウェブサイト)
 

オペレーティング・システムについて

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
DelphiXE3 [FMX]「印刷」画面(PrintDialog)2013/10/20
 
前頁で[Dialogs]内の「SaveDialog」(「保存」画面)について書きました。次に同じく[Dialogs]内の「PrintDialog」(「印刷」画面)について見ていきます。
   【Delphi2010の記事はこちら】
   【DelphiXE3[VCLアプリケーション]の記事はこちら】
 
 


 
 
Options
[印刷]ダイアログの外観と動作を決定します。
Optionsは、一連のTPrintDialogOptionフラグを表しており、これらを使用して、[印刷]ダイアログの特定のコントロールの外観や機能を、変更することができます。
たとえば、Options に poPrintToFile フラグが入っていると、[印刷]ダイアログにチェックボックス[ファイルに書き出す]が表示されます。
・poPrintToFile
・poPageNums
・poSelection
・poWarning
・poHelp
・poDisablePrintToFile
(ヘルプより)
Collate
[部単位で印刷]チェックボックスが選択されているかどうかを示します。
Collate は、[印刷]ダイアログで[部単位で印刷]チェック ボックスが選択されている際に、True 値を保持します。チェックボックスがチェックされた状態でダイアログを開くには、オブジェクトインスペクタかプラグラム コードより、CollateプロパティをTrueに設定します。
メモ: [部単位で印刷]チェックボックスは、Copiesプロパティが 1 より大きい値を保持しているときのみ、アクティブになります。
Copies
[印刷]ダイアログで、選択されている部数を示します。
[印刷]ダイアログでの[部数]フィールドは、Copies プロパティが1より大きいか、もしくは1であるときに、Copiesプロパティの数を表示します。
メモ: Copies プロパティが 1 より大きい場合、[部単位で印刷]チェック ボックスが有効になります。
FromPage
印刷ジョブが開始されるページを示します。
FromPage プロパティは、[印刷]ダイアログの[開始]フィールドに相当します。
ToPage
印刷ジョブを終了するページを示します。
ToPage プロパティは、[印刷]ダイアログの[終了]フィールドに相当します。
MaxPage
ユーザーが[印刷]ダイアログの[終了]フィールドに入力できる、最大ページ番号を判別します。
ユーザーが、[終了]フィールドへ MaxPage よりも大きい数値を入力すると、[OK]ボタンをクリックした際にエラーメッセージが表示されます。
メモ: [印刷]ダイアログの[開始]および[終了]フィールドは、Options に poPageNums フラグが設定されている場合に有効になります。poPageNumsが Options 内にある場合、MaxPageが MinPage より大きい値に設定されないと、ダイアログが開かれません。
MinPage
ユーザーが[印刷]ダイアログの[開始]フィールドに入力できる、最小ページ番号を判別します。
ユーザーが、[開始]フィールドへ MinPage よりも小さい数値を入力すると、[OK]ボタンをクリックした際にエラーメッセージが表示されます。
メモ: [印刷]ダイアログの[開始]および[終了]フィールドは、Options に poPageNums フラグが設定されている場合に有効になります。 poPageNums が Options 内にある場合、MinPageが MaxPageより小さい値に設定されないと、ダイアログが開かれません。
PrintRange
ダイアログが表示された際に、デフォルトで選択される印刷範囲を示します。
PrintRange を使用すると、ダイアログが表示された際に、デフォルトで選択される印刷範囲を、ラジオボタンで設定することができます。
メモ: ラジオボタンが選択されている状態にするには、これが有効になっていなければなりません。このため、選択ラジオボタンがデフォルトで選択されているのをユーザーが望む場合、poSelection フラグが Options 内にある必要があります。
prAllPages :[すべて]
prSelection:[選択した部分]
prPageNums :[ページ指定]
PrintToFile
[ファイルに書き出す] チェックボックスが選択されているかどうかを示します。
PrintToFile は、[印刷]ダイアログで[ファイルに書き出す]チェックボックスが選択されている場合には、True となります。
メモ: [ファイルに書き出す]チェック ボックスをダイアログに表示させるには、poPrintToFileフラグを Options に追加します。
 
(ヘルプより)
TPrintDialog は、印刷ダイアログを表示するためのクラスを表します。
 
TPrintDialog を使用すると、印刷ジョブを構成するためのダイアログ ボックスを表示できます。
 
メモ:実行時に、このダイアログは、Execute メソッドの呼び出しで起動されるまでは表示されません。
 
VCLアプリケーション同様、印刷プログラムに引き渡すであろう各種設定を行う画面を表示します。ここでコピー数等を指定したからといって、それだけで自動的にコピーが行える訳ではありません。印刷プログラムでこの設定値を読み取り、コピーを行う場合は、コピーを行うようプログラミングせねばなりません。
 
印刷プログラムを作成する際には、別段これを使わなければならない、という事はありません。独自画面でも大丈夫だと思われます。プリンタ設定だけ別途行えるようにしておけばいいでしょう。
 
例えば下図のように配置し、下記のようにボタンのクリックイベントハンドラを記述します。

procedure TForm1.Button1Click(Sender: TObject);
begin
 if (PrintDialog1.Execute) then begin
  ShowMessage('印刷開始します');
 end;
end;
保存・コンパイル・実行をします。

「印刷」(Button1)をクリック




実際に印刷するプログラムは作成していませんので
印刷は行われません
 
プリンタ名は、おそらく「通常使うプリンター」が最初に選択された状態になるでしょう。[詳細設定]は、そのWindowsのプリンタ設定で指定した内容になっていると思われますが、プログラムでプリンタ名を指定しようとか、[詳細設定]内容を指定しよう等ということは、おそらく出来ないのだろうと思われます。
VCLアプリケーションの場合は、Printerオブジェクトを利用し、一部の設定・取得出来ない処理については WindowsAPIを使っていましたが、クロス開発環境を意識する以上、当然、WindowsAPIは使えないという前提で、処理実行したい事が出来るのかどうかはやや不安ではありますね。
 
VCLアプリケーションには存在する、フォームの画面イメージの印刷用の Print メソッドというのは、FireMonkey(FMX)には無い様子ですね。
 
 
非ビジュアルコンポーネントですので、スタイルは無関係ですからそれについては記述しません。
 
 
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
>DelphiXE3
▲2013/10/20
 2013/10/20
▼2013/10/21
 
シェアウェア
Script!World
データベース
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015. By AFsoft All Rights Reserved.