この特集のトップページへ
>
Chapter 7:プレゼンテーション層の構築
●印刷プレビューフォームが表示されたときの処理
では次に,List 7-37の4行目で呼び出されるShowメソッドによって表示される印刷プレビューフォームであるFormPrintPreviewフォームの処理について考える。 ○FormPrintPreviewフォームが表示されようとしているときの処理
まずは,FormPrintPreviewフォームが表示されようとしているときの処理から考えてゆく。FormPrintPreviewフォームが表示されようとしているときには,主に次の3つの処理をしなければならない。
- (1)PicDocピクチャボックスの大きさの調整
-
Fig.7-46に示したとおり,プレビュー画面はPicDocピクチャボックスに描画する。印刷結果と同様のプレビュー画面を表示するためには,PicDocピクチャボックスの設定をデフォルトプリンタの設定と合致させておく必要がある。これは,PicDocピクチャボックスのサイズをプリンタの用紙サイズに合わせたり,フォントを合わせたりという処理を意味する。
Visual Basicでは,デフォルトプリンタの状態をPrinterオブジェクトの各種プロパティを通じて取得できる。したがって,具体的にはPrinterオブジェクトのプロパティとして取得できる用紙幅や高さ,フォント情報などをPicDocピクチャボックスに設定するという処理内容になる。
- (2)スクロールバーの調整
-
VScroll垂直スクロールバーとHScroll水平スクロールバーの移動範囲を調整する。スクロールバーがとり得る最小値はどちらも0であるが,最大値は用紙サイズによって異なる。よって,最大値を用紙サイズ――いい換えれば(1)の処理で設定したPicDocピクチャボックスの幅と高さ――に合わせるように調整する。
- (3)プレビュー画面の表示
- PicDocピクチャボックスに1ページ目のプレビュー画面を描画する。これにより,FormPrintPreviewフォームが開かれたときに,ユーザーは第1ページ目のプレビュー画面を参照することができるようになる。
フォームが表示されようとしているときには,フォームのActivateイベントが発生する。よって,上記の3つの処理は,Form_Activateプロシージャに記述すればよい。実際に実装したものがList 7-38である。
List 7-38では,基本的にコントロールを初期化し,プレビュー画面を描画するという処理を実行するだけである。これらの処理を順に説明する。
42/134 |