WinPrintPreview コンポーネントには、.Net PrintPreviewControl の上位機能が含まれています。WinPrintPreviewThumbnail コントロールを UltraPrintPreviewControl と組み合わせて使用すると、Microsoft Word または Adobe Acrobat で表示されることのあるサムネイルと同じように、生成されたページのサムネイル ビューを提供できます。
このコントロールには、Settings プロパティがあり、そのいくつかは 2 つのコントロールに共通です。主な Settings プロパティを以下に示します。
Columns - この値は、行あたりの列数(ページ数と同じ)を示します。デフォルト値はゼロ(0)で、これは現在の ZoomMode に応じて異なる処理がなされます。ZoomMode が AutoFlow に設定されていると、ページは最大値なしに配置され、ページが表示範囲に収まらない場合はページは折り返されて次の行は配置されます。Columns の値がゼロ(0)より大きく設定されて、 ZoomMode が AutoFlow に設定されている場合は、この値は各行の最大列数を示します。それ以外のすべてのズーム モードでは、値ゼロ(0)は 1 と解釈されます。
Rows - ビューごとの行数を示します。この値がデフォルト値のゼロ(0)に設定されていると、ページは連続的に配置されます。つまり、列は左から右へ、そして行が上から下へとスクロール可能な連続ビューとして表示されます。これは、Microsoft Word でドキュメントを編集しているときと同じ配置です。このモードでは、ページの下端は次のページの先端となり、これが最後のページまで続きます。この値を1以上に設定すると、プレビューは一連の「ビュー」に分断されます。ビューごとの行数は、Rows プロパティによって決まります(ただし、ページ数により、また ZoomMode が AutoFlow に設定されている場合は、Rows プロパティの値より小さいことがあります)。ビュー内でスクロールをしているとき、ビューの最上行の上、または最下行の下でスクロールしようとすると、前のビューの最下行、または次のビューの最上行が表示されます。この配置は、Word のサムネイル ビューまたは印刷プレビューを表示したとき、または Adobe Acrobat Readerで 1 ページ、または 2 ページのレイアウトで表示しているときと同じです。注:ズームが自動計算に設定されているときには、ビューごとに(またはプレビューの行のグループごとに)ズーム レベルが異なることがあります。
Zoom - ズーム プロパティにより、ページのビューの倍率を変更できます。この値は、ZoomMode が Standard または AutoFlow に設定されているときに有効です。
ZoomMode - この値は、プレビュー ページのズーム レベルを指定します。次のオプションがあります。
Standard - ズームは Zoom プロパティの値に従います。
AutoFlow - ズーム レベルは Zoom プロパティの値により決まります。ただし、行ごとの列数は表示領域に収まるページ数(行ごとの最小ページ)により決まります。Rows の値が 1 より大きく設定されていると、表示される行数はプレビュー ページ領域に表示できる行数によって決まります。
PageWidth - 現在のビューの最も広い行に基づいて、ズーム レベルが計算されます。たとえば、Columns プロパティが 1 に設定されていると、ズーム倍率は現在のビュー内での最も広いページに基づいて計算されます。ただし、Columns プロパティが 2 に設定されていると、ズーム倍率は現在のビュー内での最も広く設定されたページに基づいて計算されます。
MarginsWidth - 現在のビューの行の最も広いマージン幅に基づいて、ズーム レベルが計算されます。
WholePage - 最大の行を表示領域に完全に表示するために必要な範囲に基づいて、ズーム レベルが計算されます。
PageNumberStyle - プレビュー領域内のページ番号を表示する位置を指定します。次のオプションがあります。
None - ページ番号は表示しません。
LeftOfRow - ページ番号は行の左側に配置されます。ページ番号は、行の最初のページの番号です。
BelowEachPage - ページ番号は、各ページの下部に表示されます。
以下に、主なコントロールごとの違いについて説明します。
UltraPrintPreviewControl
Document - プレビューページの生成に使用する PrintDocument を指定します。
DisplayPreviewStatus - プレビュー ページの生成中にダイアログを表示するかどうかを設定します。
AutoGeneratePreview - コントロールが初期化されるときに自動的にプレビューを生成するかどうかを決定します。Falseに設定すると、コントロールがプレビュー ページを生成するように GeneratePreview メソッドを起動する必要があります。
MaximumPreviewPage - 生成されるプレビュー ページの最大数を決定します。注:プレビュー ページの生成後にこのプロパティの値を変更しても、表示されるプレビュー ページ数には影響しません。
UseAntialia - プレビュー画像が生成される際、アンチエイリアス処理されるか決定します。このプロパティを設定すると、現在のプレビュー情報がリセットされます。
ViewHistory - PreviewControl はズームとそれらを見たズーム モードのページ ヒストリーを保持します(Adobe Acrobat Reader の機能と同様)。コントロールは、PerformAction メソッドを使用して表示履歴をナビゲートするかどうかを決定するために使用できる 2 つのプロパティ(HasPreviousView と HasNextView)を公開しています。また、表示履歴に登録を追加または削除するときや表示履歴内をナビゲートする際に起動される ViewHistoryChange イベントがあります。このイベントを使用すると、前の履歴をナビゲートする機能が提供されている場合に、UI を更新できます。
MouseAction - UltraPrintPreviewControl のプレビュー ページ領域内でマウスを使用している間に実行されたアクションを決定します。それらは次のオプションを含んでいます。
None - マウス ボタンは何の機能もしません。
Hand - プレビュー ページ領域内の間、オープン ハンド カーソル画像が表示されます。マウス ボタンを押し下げると、カーソルは握りこぶしに変化し、マウスをドラッグして現在のビューをスクロールできます。
Snapshot - 選択された領域を示す四角形を作成するためにマウスがドラッグされます。マウスがリリースされている間、選択された領域は画像としてクリップボードにコピーされます。この機能は、マウスが 1 ページ内にあるときにのみ有効です。
DynamicZoom - マウスはズームインやズームアウトをするために使用することができます。マウスを上方へドラッグするとページがズームインされ、マウスを下方へドラッグすると、ページがズームアウトされます。
ZoomOut - マウスをドラッグすると選択四角形が表示され、選択四角形と現在のビューのサイズとの差に基づいてページがズームアウトします。
ZoomIn - マウスをドラッグすると選択四角形が表示され、選択された領域にズームインします。
UltraPrintPreviewThumbnail
PreviewControl - そのプレビュー ページが表示される、関連付けられている UltraPrintPreviewControl を指定します。
ViewBox - サムネイル コントロールは何が今後ビュー ボックスとして参照されるか表示することができます。基本的に、ビュー ボックスとは各プレビュー ページに表示される要素で、関連付けられている UltraPrintPreviewControl 内で現在ページのどの部分が表示されているかを示します。ビュー ボックスをドラッグして、ビューを変更できます。
CurrentPreviewPage[Number]Appearance - PreviewControl の CurrentPage に関連付けられているページの外観とページ番号を変更できます。
ViewBoxDisplayStyle - どのサムネイル ページがビュー ボックスを表示するか決定します。デフォルトで、ビュー ボックスは、関連付けられている PreviewControl に現在表示されている各サムネイル ページに表示されます。
ViewBoxDragMode - ビュー ボックスがどのようにドラッグされるか決定します。デフォルトで、ビュー ボックスはページ内のどこへでもドラッグできます。このプロパティがデフォルト値に設定されているときに、Ctrl キーを押し下げると、ビュー ボックスの動く範囲をページ内に制限できるので、ページ内で移動するのに便利です。