ディスクトップ上のフルスクリーンの領域をフォームで使用するお手本

図4-2-1 ディスクトップ上のフルスクリーンの領域をフォームで使用した例
このサンプルデータベースは、ディスクトップ上のフルスクリーン(全領域)をフォームで使用します。図4-2-1に表示されているフォームは、XGA(1024 x 768)のフルスクリーンの領域をフォームが占領しています。Access でアプリケーションを開発する場合、Windowsのタスクバーを隠して、メニューバーを表示しないように起動時の設定をすれば、Accessのキャプションバー(標題)を除いた領域をフォームで使用することができます。
ここで紹介するサンプルデータベースは、Accessのキャプションバーも隠して、フルスクリーンの全領域をフォームが占有できるようにしています。このサンプルデータベースを応用すると、ノート型の低解像度(640 x 480, 800 x 600)のパソコンを使用している場合、スクリーンの領域を有効活用することができます。
サンプルデータベース(CH4-2.mdb)では、以下のノウハウを習得することができます。
◆ Accessのキャプションバーを隠す方法
◆ Access のメニューバーをカスタマイズして非表示にする方法
◆ Access の終了をアプリのフォームからのみ実行できるように制約する方法
◆ Windowsのタスクバーを隠す方法
● ディスクトップ上のフルスクリーンをフォームで占有するには
1 Access を起動して作業フォルダに、新規データベースCH4-2.mdbを作成します。
2 データベースウィンドウからフォーム
をクリックしたら新規作成ボタンをクリックします。フォームの新規作成ダイアログが表示されたら、一覧からデザインビューを選択してOKボタンをクリックします。
3 フォームのデザインビューが表示されたら、ツールボックスからトグルボタンのアイコン
をクリックしてフォームの左上に作成します。トグルボタンのプロパティを表示させたら、コントロール名をtglFullScreenに書き替えます。次に、ツールボックスからコマンドボタンのアイコン
をクリックして、トグルボタンの右側にアプリケーションを終了させるコマンドボタンを作成します。コマンドボタンのプロパティを表示させたら、コントロール名をcmdExitに書き替えます。最後に、ツールボックスからラベルのアイコン
をクリックしたら、フォームの下位にラベルを作成します。ラベルのプロパティを表示させたら標題に、表4-2-1に示すような説明を入力します。
表4-2-1 フォームに作成したコントロールのプロパティ
|
コントロールの種類 |
プロパティ |
値 |
|
トグルボタン |
名前 |
tglFullScreen |
|
標題 |
Toggle Full Screen |
|
|
コマンドボタン |
名前 |
cmdExit |
|
ピクチャ |
ビットマップ |
|
|
ピクチャタイプ |
埋め込み |
|
|
ラベル |
標題 |
トグルボタンをクリックするとAccessのキャプションバーを非表示にします。 この状態でフルスクリーンの領域をフォームで占有することができます。 |

図4-2-2 フォームにトグルボタン、コマンドボタン、ラベルを作成した例
4 メニューからコードのアイコン
をクリックして、フォームモジュールを表示させます。 CH4-2.mdbを開いてfrmFullScreenのフォームモジュールをコピーして貼り付けます。フォームモジュールのソースコードは、リスト4-2-1を参照してください。また、 CH4-2.mdbのモジュールからbasMyLib, clsFullScreenをインポートしてください。クラスモジュールclsFullScreenには、Access
のキャプションバーを隠したり、システムメニューを隠すためのプロパティが登録されています。フォームをfrmFullScreenの名称で保存して閉じます。
5 フォームfrmFullScreenをビューモードで開いたら、Toggle Full Screenのトグルボタンをクリックします。Accessのキャプションバーが隠されます。この状態でフォーム右上の最大化ボタンをクリックするとフォームが拡大されて表示されます。Accessのメニューバー、ステータスバーを非表示にしてフルスクリーンの領域を占有するには、起動時のオプションを再設定します。詳細は、後述するTipを参照してください。
6 Accessのキャプションバーが隠されることを確認したら、Access を終了させます。
Sub Form_Load()イベントの処理
このイベントは、フォームが開かれてデータがロードされたときに実行されます。このイベントでは、New clsFullScreenでクラスモジュールclsFullScreenのインスタンスを生成してオブジェクトメモリ変数fsに保存します。clsFullScreenのShowCaptionBarプロパティから、Access 2000のキャプションバーのプロパティ(True:表示, False:非表示)を取得して、トグルボタンに設定します。最後に、clsFullScreenのShowSystemMenuプロパティを”False”に設定してシステムメニュー(Access 2000のウィンドウの右上に表示される、最小化/最大化/閉じるのボタン)を非表示にします。clsFullScreenでは、表4-2-2に示すプロパティをサポートしています。尚、clsFullScreenのソースコードは、CH4-2.mdbを参照してください。
表4-2-2 clsFullScreenのプロパティ
|
プロパティ |
値 |
意味 |
|
ShowCaptionBar |
True |
Access 2000のキャプションバーを表示します。 |
|
False |
Access 2000のキャプションバーを非表示にします。 |
|
|
ShowSystemMenu |
True |
Access 2000のシステムメニューを表示します。 |
|
False |
Access 2000のシステムメニューを非表示にします。 |
Sub tglFullScreen_Click()イベントの処理
このイベントは、トグルボタンをクリックしたときに実行されます。このイベントでは、トグルボタンの値(True/False)をclsFullScreenのShowCaptionBarプロパティに設定して、Access のキャプションバーを表示/非表示にします。
Sub cmdExit_Click()イベントの処理
このイベントは、フォームを閉じるコマンドボタンをクリックしたときに実行されます。このイベントでは、DoCmdのQuitメソッドを使用してAccess を終了させます。
リスト4-2-1 frmFullScreenのフォームモジュール
|
Option Compare Database Option Explicit Private fs As clsFullScreen Private Sub Form_Load() Set fs = New clsFullScreen Me.tglFullScreen = Not fs.ShowCaptionBar fs.ShowSystemMenu = False End Sub Private Sub cmdExit_Click() DoCmd.Quit acQuitSaveAll End Sub Private Sub Form_Open(Cancel As Integer) SetAppTitle_FS ("Full Screen (C) " _ & Year(Date) & " by Akio Kasai") End Sub Private Sub tglFullScreen_Click() fs.ShowCaptionBar = Not Me.tglFullScreen End Sub |
Tip
|
ディスクトップ上のフルスクリーンをフォームで占有するには: ●メニューバーをカスタマイズして非表示にする 1 ツールメニューからユーザー設定をクリックして、ユーザー設定のダイアログを表示させます。 2 ツールバーのタブから新規作成のボタンをクリックして、新しいツールバーのダイアログを表示させたら、FullScreenを入力してOKボタンをクリックします。
3 ユーザー設定のダイアログからプロパティのボタンをクリックして、ツールバーのプロパティを表示させたら、種類のコンボボックスからメニューバーを選択して閉じるのボタンをクリックします。
4 ユーザー設定のダイアログから閉じるのボタンをクリックしてダイアログを閉じます。 5 FullScreenのカスタムメニューバーが表示されていますので閉じるのボタンをクリックして閉じます。 ● 起動時のオプション設定 1 ツールメニューから起動時の設定をクリックして、起動時の設定ダイアログを表示させます。 2 メニューバーのコンボボックスからFullScreenを選択します。 3 以下のチェックボックスをクリックしてチェックを外します。 ・ すべてのメニューを表示する ・ 既定のショートカットメニュー ・ データベースのウィンドウの表示 ・ ステータスバーの表示 ・ 組み込みツールバー ・ ツールバー/メニューの変更 4 フォーム/ページの表示のコンボボックスからfrmFullScreenを選択します。
5 OKボタンをクリックしてダイアログを閉じます。 最後に、Windowsのタスクバーのプロパティを表示させて、「自動的に隠す」オプションを有効にします。 これで、ディスクトップ上のフルスクリーンの領域をフォームで占有することができます。 |
Tip
|
Access のキャプションバーを隠すと、アプリのフォーム以外からAccessを終了させることができなくなります。尚、Accessのキャプションバーを表示した場合でも、システムメニューを非表示にすると、アプリのフォーム以外からAccess を終了させることができなくなります。キャプションバー/システムメニューの表示/非表示の切り替えは、クラスモジュールclsFullScreenのShowCaptionBar, ShowSystemMenuプロパティをTrue/Falseに設定することにより行います。 アプリのフォームからAccessを終了させることにより、データベースのセキュリティを向上させることができます。 |