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

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

プログラミングについて
ホームページについて
キャドについて
電子カタログについて
書籍・雑誌
イベント
リンク集
Delphi2010 印刷の画面 2010/11/05
 
前回は[Dialogs]内の「ColorDialog」(「色選択」画面)について見ましたので今回も同じく[Dialogs]内の「PrintDialog」(「印刷」画面)をみてみます。「印刷」画面は Delphi6 にもあります。

 
「テスト21」を開いてそこに配置してみます。1つ目ですので Nameプロパティは「PrintDialog1」となります。アイコン絵となりますが実行時には「印刷」画面が表示されます。ボタンを1つ追加します。

 
「印刷」画面は、プログラムで何らかの処理をしたあと、その結果をプリンタ等へ印刷したい場合に画面を表示し、印刷開始用ボタンを押せば印刷を実行する、というもので、印刷実行そのものではありませんが、印刷を行う際に必要な指定等を行わせる画面であり、「印刷をしてもよろしいですか?」という問い合わせの代わりにもなるような感じです。 尤も、印刷そのものは、この画面を使わなくても構わないです。ボタン[印刷](Button5)をクリックした時の処理を取り合えず記述します。
procedure TForm1.Button5Click(Sender: TObject);
begin
 if (PrintDialog1.Execute) then begin
  // 印刷実行
  Form1.Print ; // 画面イメージを印刷
 end;
end;
とりあえず保存・コンパイル(再構築)・実行を行います。

[印刷]ボタンをクリック


「印刷」画面が表示されるので
プリンター名を指定し、[プロパティ]でプリンタ設定を行い
印刷範囲、印刷部数の入力があって[OK]で印刷実行


例としてフリーのPDF作成ソフト「PrimoPDF」へ出力
ファイルの保存先、各種指定をして[PDFの作成]クリック
プリンタを指定した場合は、プリンタへデータ出力されます


 
「開く」「保存」「フォント選択」「色選択」画面同様、「印刷」画面を表示(実行)するには Executeメソッドを利用します。[OK]ボタンをクリックすると「True」値が返ってきます。[キャンセル]ボタンをクリックするか右上の[×]をクリックすると「False」値が返ってきます。
 
プリンター名は、このPCにセットアップされているプリンタ(プリンタドライバ)の名前が表示されますので、その中のどれかを指定します。ここではフォーム画面のイメージをそのまま印刷させていますが、その印刷設定は、直前で行うプリンタの設定に依存します。また、「印刷」画面で指定する印刷範囲・印刷部数等の入力は、このPrintDialog1 の各プロパティ値を取得して、それに応じて印刷するようプログラミングを行う必要があります。
 
PrintRangeプロパティは、指定した印刷範囲の種類を取得します。以下ヘルプより
prAllPages[すべて]ラジオボタンが選択される
prSelection[選択した部分]ラジオボタンが選択される
prPageNums[ページ指定]ラジオボタンが選択される
 
FromPageプロパティは印刷開始ページ、ToPageプロパティは印刷終了ページ、を取得できます。MinPageプロパティは利用者が指定出来る最小ページ、MaxPageプロパティは利用者が指定出来る最大ページを事前に指定しておきます。Copiesプロパティは印刷部数を取得できます。Collateプロパティは、「□部単位で印刷」がチェックされているかどうかを示します。PrintToFileプロパティは、「□ファイルへ出力」がチェックされているかどうかを示します。
 
 
Optionsプロパティにて、「印刷」画面の外観・動作等の設定を行う事が出来ます。以下ヘルプより。
poDisablePrintToFile[ファイルへ出力]チェックボックスを選択不可(淡色表示)にする(poPrintToFile フラグが設定されている場合のみ適用可能)
poHelp[ヘルプ]ボタンがダイアログボックスに表示される。Windows 95 のバージョンによっては機能しない場合がある
poPageNums[ページ指定]ラジオボタンが使用可能になり,ユーザーは印刷するページ範囲を指定できる
poPrintToFile[ファイルへ出力]チェックボックスをダイアログボックスに表示する
poSelection[選択した部分]ラジオボタンが使用可能になり,ユーザーは選択したテキスト(強調表示されたテキスト)を印刷できる
poWarningユーザーがインストールされていないプリンタに印刷ジョブを送ろうとした場合に警告メッセージが表示される
 
 
<オブジェクトインスペクタ>での内容は以下のようになっています。

 

 
バッチファイル
BASIC
C言語のお勉強
拡張子な話
DOSプログラム
Delphi
>Delphi入門編
>Delphi2010
▲2010/11/04
 2010/11/05
▼2010/11/05
 
シェアウェア
Script!World
データベース
 
お問い合わせ 
本サイトはリンクフリーです
リンクバナー
(C)Copyright 1999-2015. By AFsoft All Rights Reserved.