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

7.4.7 顧客情報の印刷処理
●印刷プレビューフォームを表示するまでの処理
 さて,FormPrintPreviewフォームを作ったので,次にこのフォームを表示する方法について考える。このフォームを表示するのは,FormCustomerフォーム(Fig.7-16を参照)で[印刷]ボタン(BTN_PRINTボタン)を押したときである。[印刷]ボタンを押したときに,“FormPrintPreview.Show 1”のように実行する処理を実装しておけば,FormPrintPreviewフォームがモーダルウィンドウとして表示されることになる。ただし,それよりもまえに,FormPrintPreviewフォームに対してどのような情報をプレビュー表示ならびに印刷するのかを引き渡しておく必要がある。

 すでに説明したように,FormPrintPreviewフォームはタイトルとデータグリッドコントロールの内容をプレビュー表示したり印刷したりする機能を提供する。よって,プレビュー表示したり印刷したりするには,FormCustomerフォームからFormPrintPreviewフォームに対して,「タイトル」と「印刷したいデータグリッドコントロール」という2つの情報を引き渡す必要がある。そこで,この2つの情報をFormCustomerフォームから受け取るために,List 7-36で示すSetTitleプロシージャをFormPrintPreviewフォームに用意しておく。

 List 7-36SetTitleプロシージャは,何のことはなく,引数として受け取ったタイトルとデータグリッドコントロールをグローバル変数であるg_Titleg_DGridにそれぞれ格納するだけである。

 FormCustomerフォームで[印刷]ボタンが押されたときには,まずList 7-36SetTitleプロシージャを呼び出し,プレビューしたり印刷したりしたいタイトルとデータグリッドコントロールをFormPrintPreviewフォームに引き渡してから,Showメソッドを使ってFormPrintPreviewフォームを表示するようにする(List 7-37)。

 List 7-37の3行目では,“登録顧客一覧”というタイトル文字列と,顧客の一覧を表示するデータグリッドコントロールであるDGrid_Customerデータグリッドを伴って,SetTitleプロシージャ(List 7-36)を呼び出す。その後,4行目でShowメソッドを呼び出し,FormPrintPreviewフォームをモーダルウィンドウとして表示する。

 4行目のShowメソッドの呼び出しが完了すると,FormPrintPreviewフォーム側の処理でプレビュー表示したり印刷したりすることになる(これらの処理はこれから順次実装してゆく)のだが,3行目でSetTitleプロシージャを呼び出したことにより,タイトルと処理すべきデータグリッドコントロールがFormPrintPreviewフォームのグローバル変数であるg_Titleg_DGridに格納されている。よって,FormPrintPreviewフォームのプレビュー表示や印刷処理では,この2つのグローバル変数を参照しながら処理をしてゆけばよいということになる。

Prev 41/134 Next