Delphi Programming / Object Pascal
サイトのトップページへ リンクのページへ ロゴマーク
[掲載 2000年05月07日] [更新 2016年04月20日] プリンタ設定コンポーネント
   
プリンタ設定コンポーネント
使用方法
動作確認等 図は Windows 7 U64(SP1) + Delphi XE(UP1) Pro で作成







開発環境には必ずプリンタドライバが必要


設計時,つまり開発環境には,少なくとも 1 つ以上のプリンタドライバがインストールされている必要があります.これは,必ずしも物理的に接続されていなくても構いません.




プリンタドライバをインストール


開発したアプリケーションの実行環境で使用するプリンタのプリンタドライバを,開発環境のコンピュータにインストールします.
プリンタドライバは,OS に付属しているドライバもありますが,製品に付属しているプリンタドライバもあります.メーカーのサイトから,最新のバージョンのものを入手できる場合があります.




設計時のプロパティ設定


図の様にプリンタのプロパティ設定のダイアログを表示して行います.各プロパティを設定してコンパイルすると,ダイアログで設定した内容が EXE ファイルに埋込まれ,実行時に再現します.
ただし,再現可能なのは,設計時の環境と実行時の環境 (Windows のバージョン) が同じで,プリンタドライバのバージョンが同じ場合に限ります.


図1
コンポーネントを配置
  • 本コンポーネントを Form に配置
図2
使用するプリンタを決める
  • PrinterName のリストからプリンタを選択
図3
用紙サイズや印刷の向き等を決める
  • オブジェクトインスペクタの [Properties] ダブルクリック,または [...] をクリック
    コンポーネントのダブルクリックでも可
  • プロパティの設定ダイアログが現れる
  • 各プロパティを設定
  • プロパティを使用するコードを書く
  • コンパイルして実行する




実行時のプロパティ設定


開発環境と実行環境でプリンタドライバが異なる場合は,用紙サイズ,印刷の向き,用紙供給装置(ビン番号,実行時のドライバに同じ番号が存在する場合に限る) は再現しますが,その他のプロパティは再現できません.
そのような場合は,アプリケーションの [基本設定] などの項目 (印刷プレビューコンポーネントでは[プリンタの設定] など) で,最初にプリンタや用紙の設定を行い,ファイルに保存しておきます.そして,必要な時にこの保存した設定を読出して使用するようにすれば,印刷の度にプロパティを設定する必要がありません.


[備考]
コード上でプロパティを設定する場合,プロパティによっては,実行時と同じプリンタドライバでないと確実なテストはできません.これは本コンポーネントの場合も同じです.




実行時における [ プリンタの設定 ] ダイアログ使用の注意


実行時に TPrinterSetupDialog で [プリンタの設定] ダイアログを表示してプロパティを変更した場合は,必ず本コンポーネントの GetPrinterInfo メソッドを実行して,プリンタの情報を再取得して下さい.コンポーネントのメソッドとして ShowSetupDialog を提供しています.このメソッドではプロパティの変更を自動的に更新します.