PrintForm コンポーネント (Visual Basic)
更新 : 2007 年 11 月
Visual Basic 2008 用の PrintForm コンポーネントを使用すると、実行時に Windows フォームのイメージを印刷できます。この動作は、Visual Basic の以前のバージョンで使用されていた PrintForm メソッドの動作に代わるものです。
PrintForm コンポーネントの概要
一般的に Windows フォームでは、紙の書類またはレポートのような書式のフォームを作成して、フォームのイメージを印刷します。PrintDocument コンポーネントを使ってこれを行うこともできますが、これを使用すると多くのコードが必要になる可能性があります。PrintForm コンポーネントを使用すると、PrintDocument コンポーネントを使わなくても、フォームのイメージをプリンタに印刷し、印刷プレビュー ウィンドウに表示し、ファイルに出力することができます。
PrintForm コンポーネントは、[ツールボックス] の [Visual Basic PowerPacks] タブにあります。これをフォームまでドラッグすると、コンポーネント トレイ (フォーム下部の境界の下の小さな領域) に表示されます。このコンポーネントを選択した場合、その動作を定義するプロパティを [プロパティ] ウィンドウで設定できます。これらすべてのプロパティは、コードで設定することもできます。さらに、デザイン時にコンポーネントを追加する代わりに、コードで PrintForm コンポーネントのインスタンスを作成することもできます。
フォームの印刷時には、フォームのクライアント領域にあるものすべてが印刷されます。これには、すべてのコントロール、およびグラフィックス メソッドを使ってフォームに描画されたすべてのテキストやグラフィックスも含まれます。既定では、フォームのタイトル バー、スクロール バー、および境界は印刷されません。また既定では、PrintForm コンポーネントはフォーム内の表示されている部分だけを印刷します。たとえば、ユーザーが実行時にフォームのサイズを変更した場合、現在表示されているコントロールとグラフィックスだけが印刷されます。
PrintForm コンポーネントが使用する既定のプリンタは、オペレーティング システムの [コントロール パネル] 設定によって決まります。
印刷が始まると、標準の PrintDocument 印刷ダイアログ ボックスが表示されます。このダイアログ ボックスで、ユーザーは印刷ジョブをキャンセルできます。
主要なメソッド、プロパティ、およびイベント
PrintForm コンポーネントの主要なメソッドは、フォームのイメージをプリンタ、印刷プレビュー ウィンドウ、またはファイルに出力する Print メソッドです。Print メソッドには、次の 2 つの形式があります。
パラメータなしの基本形式 Print()
印刷動作を指定するパラメータを使用する、オーバーロードされた形式 Print(printForm As Form, printFormOption As PrintOption)
オーバーロードされたメソッドの PrintOption パラメータは、フォーム印刷の基礎となる実装を指定し、フォームのタイトル バー、スクロール バー、境界を印刷するかどうか、またフォーム内のスクロール可能部分を印刷するかどうかを決定します。
PrintAction プロパティは、PrintForm コンポーネントの主要なプロパティです。このプロパティは、出力をプリンタに送るか、印刷プレビュー ウィンドウに表示するか、または EPS (Encapsulated PostScript) ファイルとして保存するかを決定します。PrintAction プロパティを PrintToFile に設定した場合、パスとファイル名が PrintFileName プロパティによって指定されます。
PrinterSettings プロパティは、基礎となる PrinterSettings オブジェクトへのアクセスを提供します。このオブジェクトは、使用するプリンタや印刷部数などを設定します。さらに、プリンタの機能 (色、両面印刷のサポートなど) を問い合わせることもできます。このプロパティは [プロパティ] ウィンドウには表示されず、コードを介してのみアクセスできます。
Form プロパティは、PrintForm コンポーネントをプログラム的に呼び出すときに、どのフォームを印刷するかを指定します。デザイン時にこのコンポーネントをフォームに追加した場合、そのフォームが既定になります。
PrintForm コンポーネントの主要なイベントは、次のとおりです。
BeginPrint イベント。Print メソッドが呼び出されたとき、ドキュメントの最初のページが印刷される前に発生します。
EndPrint イベント。最後のページが印刷された後で発生します。
QueryPageSettings イベント。各ページが印刷される直前に発生します。
解説
Graphics メソッドによって描画されたテキストやグラフィックスがフォームに含まれる場合、これを印刷するには基本的な Print (Print()) メソッドを使用してください。オーバーロードされた Print メソッドを使用すると、オペレーティング システムによってはグラフィックスが描画されない場合があります。
フォームの幅がプリンタ用紙の幅より広い場合、フォームの右側が途切れる可能性があります。印刷用のフォームをデザインするときには、標準的な用紙サイズにフォームが収まることを確認してください。
例
PrintForm コンポーネントの一般的な使用例を次に示します。
' Visual Basic.
Dim pf As New PrintForm
pf.Form = Me
pf.PrintAction = PrintToPrinter
pf.Print()
参照
処理手順
方法 : PrintForm コンポーネントを使用してフォームを印刷する (Visual Basic)
方法 : フォームのクライアント領域を印刷する (Visual Basic)
方法 : フォームのクライアント領域と非クライアント領域を印刷する (Visual Basic)
方法 : スクロール可能フォームを印刷する (Visual Basic)