この特集のトップページへ
Chapter 7:プレゼンテーション層の構築

7.4.7 顧客情報の印刷処理
●印刷プレビューフォームの作成
 では,Fig.7-40に示したプレビュー用ウィンドウをVisual Basicのフォームとして構築してゆこう。今回Fig.7-40に示したプレビュー用ウィンドウのフォーム名はFormPrintPreviewとし,Fig.7-45に示すように各コンポーネントを配置する。

Fig.7-45 FormPrintPreviewフォーム
fig7_45

 Fig.7-45に示したFormPrintPreviewフォームは,かなりたくさんのコンポーネントが配置されていて少々ややこしい。そこで以下,簡単に主要なコンポーネントの役割について説明する。

○プレビュー部分
 まずは,プレビュー部分の構造から説明する。Fig.7-45に示したとおり,プレビュー画面はPicPreViewピクチャボックスとPicDocピクチャボックスを使って描画し,VScroll垂直スクロールバーとHScroll水平スクロールバーを用いてスクロール表示できるようにする。Fig.7-45では,PicPreViewピクチャボックスとPicDocピクチャボックスの位置がずれているが,これはわかりやすく配置したものであり,実際には両ピクチャボックスとも実行時にはウィンドウの左上にピッタリと合わせる(その実装については「FormPrintPreviewフォームが表示されようとしているときの処理」で説明する)。なお,図ではわかりにくいが,PicDocピクチャボックスはPicPreViewピクチャボックスの上に載っている。いい換えれば,PicDocピクチャボックスの親コントロールがPicPreViewピクチャボックスとなるように配置している。

 PicDocピクチャボックスが,実際にプレビュー画面を描画するピクチャボックスになる。実行時には,PicDocピクチャボックスの大きさをデフォルトプリンタに設定されている用紙サイズに合わせて調整する。このとき,PicDocピクチャボックスの親コントロールはPicPreViewピクチャボックスになっているため,PicDocピクチャボックスの内容の一部がPicPreViewピクチャボックスから覗けるようになる。

 ユーザーがVScroll垂直スクロールバーやHScroll水平スクロールバーを操作してスクロールを指示したときには,PicPreViewピクチャボックス上のPicDocの表示位置(X座標とY座標)を適時変更する。そうすることによって,スクロール機能を実現することができる。

 以上の関係を図示すると,Fig.7-46のようになる。

Fig.7-46 プレビュー画面の構造
fig7_46

○余白設定部分
 プレビュー画面以外の各コントロールは,すべてFrameNaviフレームの上に載せている。FrameNaviフレームのサイズは,FormPrintPreviewフォームの大きさとマッチするように実行時に調整する。その実装については,「FormPrintPreviewフォームが表示されようとしているときの処理」にて説明する。

 余白の設定部分は,左側にある4つのテキストボックスで構成されている。余白の初期値はいくつでもよいが,とりあえず,ここでは20ミリメートルにしておくことにした。ユーザーがこれらのテキストボックスに指定された余白の値を変更し,[適用]ボタン(BTN_APPLYボタン)を押すことで,その余白値を反映させる。

Prev 39/134 Next