■メインウィンドウにイメージを表示する (2000,2002,2003)

図 Accessのメインウィンドウにイメージを表示してカスタマイズした例
Accessのメインウィンドウにイメージを表示する手順を解説します。
1. 新規データベース作成
Accessを起動したら、ツールバーから新規作成のアイコン
をクリックして、作業フォルダworkにW005.mdbを作成します。
2. モジュールをインポート
Accessの[ファイル]メニューから[外部データの取り込み]→[インポート]を選択します。「インポート」ダイアログが表示されたら、ファイルの一覧から005.mdb(このページの最後からダウンロードできます)をクリックして選択して、[インポート]ボタンをクリックします。
「オブジェクトのインポート」ダイアログが表示されたら、[モジュール]タブをクリックして[すべて選択]のボタンをクリックします。モジュールbasChangeMDI、basColorPicker、clsCommonDialog、clsDIBSectionが選択させたら[OK]ボタンをクリックしてインポートを開始します。

図 [モジュール]タブをクリックしたら[すべて選択]のボタンをクリック
3. 新規フォーム作成
データベースウィンドウのオブジェクトから[フォーム]をクリックして、右側の新規オブジェクトのショートカットから[デザインビューでフォームを作成]をダブルクリックします。
4. コマンドボタン作成
ツールボックスのコントロールウィザードのアイコン
をクリックして、コントロールウィザードを無効にします。ツールボックスからコマンドボタンのアイコン
をクリックして、フォームの詳細セクションにドロップします。詳細セクションにコマンド0が作成されたら、コマンドボタンをクリックして入力モードに切り替えて「メインウィンドウにイメージ表示」を入力します。コマンドボタンの外をクリックして確定したら、コマンドボタンをダブルクリックします。コマンドボタンのプロパティウィンドウが表示されたら、名前に「cmdSetBGimage」を入力して上書きします。
同様の手順で、ツールボックスからコマンドボタンをクリックしてフォームの詳細セクションにコマンド1を作成します。コマンド1のプロパティウィンドウを表示したら、名前に「cmdResetBGimage」を入力します。標題に「メインウィンドウのイメージ消去」を入力します。

図 フォームの詳細セクションに2個のコマンドボタン作成
6. コマンドボタンのOnClickイベント登録
Accessのツールバーからコードのアイコン
をクリックして、コードビューに切り替えます。コードビュー左上のオブジェクトのドロップダウンリストから[cmdSetBGimage]を選択します。コードビュー右上のプロシージャのドロップダウンリストから[Click]を選択します。cmdSetBGimageのOnClickイベントが生成されたら、次のコードを追加します。
Private Sub cmdSetBGimage_Click()
Dim fRet As Boolean
fRet = fsSetMDIBackGroundImage()
End Sub
同様の手順で、オブジェクトのドロップダウンリストから[cmdResetBGimage]を選択して、プロシージャのドロップダウンリストから[Click]を選択します。cmdResetBGimageのOnClickイベントが生成されたら、次のコードを追加します。
Private Sub cmdResetBGimage_Click()
Dim fRet As Boolean
fRet = fsRestoreMDIBackGroundImage()
End Sub
7. フォームを開く
VBEのツールバーから表示(Access)のアイコン
をクリックして、Accessのウィンドウに切り替えます。Accessのツールバーからフォームビューのアイコン
をクリックしてフォームを開きます。フォームが表示されたら、[メインウィンドウにイメージ表示]のボタンをクリックします。「BMPファイルを選択してください!」のダイアログが表示されたら、ダウンロードしたフォルダから[シャボン.bmp]を選択して[開く]ボタンをクリックします。

図 Windowsのコモンダイアログから[シャボン.bmp]ファイルを選択
Accessのメインウィンドウにシャボン玉のイメージが表示されたら、[メインウィンドウのイメージ消去]のボタンをクリックしてイメージを消去します。

図 Accessのメインウィンドウにシャボン玉のイメージを表示した例
8. フォームを保存して閉じる
Accessのツールバーから上書き保存のアイコン
をクリックしたら、「frmメインウィンドウにイメージ表示」の名称で保存します。フォームを閉じるボタン
をクリックしてフォームを閉じます。
●解説
Accessのメインウィンドウにイメージを表示するには、fsSetMDIBackGroundImage()関数を使用します。
fsSetMDIBackGroundImage(Optional strImage As String = "")
この関数の引数strImageには、オプションとしてBMPファイルの物理パス名を指定します。物理パス名を省略したときは、Windowsのコモンダイアログが表示されますのでBMPファイルを選択します。
使用例:
fsSetMDIBackGroundImage() ‘ BMPファイル省略
fsSetMDIBackGroundImage(“C:\Samples\ch1\img\シャボン.bmp”) ‘ BMPファイル指定
Accessのメインウィンドウに表示されているイメージを消去するには、fsRestoreMDIBackGroundImage()関数を使用します。
fsRestoreMDIBackGroundImage(Optional lngColor As Long = -1)
この関数の引数lngColorには、オプションとしてメインウィンドウの背景色を指定します。引数を省略すると、Accessのデフォルトの背景色を表示します。
使用例
fsRestoreMDIBackGroundImage() ‘ 背景色をデフォルトの色で復元
fsRestoreMDIBackGroundImage(RGB(255, 255, 255)) ‘ 背景色を白色で復元
fsSetMDIBackGroundImage()とfsRestoreMDIBackGroundImage()関数は、標準モジュールbasChangeMDIに登録されていますのでソースコードを解析したい方は、そちらを参照してください。