文書番号: 401655
最終更新日: 1997/11/01
この資料は以下の製品について記述したものです。
Microsoft Access(R) Relational Database Management System for Windows(R)Version 2.0 (以下 Access 2.0) この記事は、以前は次の ID で公開されていました: JP401655
概要
フォーム全体ではなく、任意のコントロールや任意のセクション毎にショートカットメニューを無効にする方法を紹介します。
ショートカットメニューとは、マウスの右ボタンをクリックした時に表示されるメニューです。
手順
サンプルデータベース NWIND.MDB の [商品区分] フォームを元にして、[区分名] テキストボックス上でマウスの右ボタンをクリックした時に、ショートカットメニューを無効にするフォームを作成します。
Access 2.0 を起動し、サンプルデータベース NWIND.MDB を開きます。
データベース ウィンドウから、[商品区分] フォームを選択して、[デザイン] ボタンをクリックします。フォームのデザインビューが開きます。
フォームの [区分名] テキストボックスのプロパティにイベントプロシージャを設定します。
プロパティシートを表示するには、テキストボックスを選択して [表示] -[プロパティ] コマンドを選択するか、ツールバーの <プロパティ> ボタンをクリックします。
[マウスボタンクリック時/OnMouseDown] プロパティにフォーカスを移動し、[表示] - [コード] コマンドを選択するか、ツールバーの <コード> ボタンをクリックします。
あるいは、プロパティの右側の <ビルド> ボタンをクリックします。[ビルダの選択]ダイアログボックスが表示されますので「コード ビルダ」を選択し、[OK] ボタンをクリックします。
モジュールウィンドウで、下記のコードを入力します。
--------------------------------------------------------------------------
Sub 区分名_MouseDown(Button As Integer, Shift As Integer, X As Single,
Y As Single)
If Button = 2 Then ' 2=RIGHT_BUTTON
DoCmd イベントのキャンセル 'CancelEvent アクション実行
End If
End Sub
---------------------------------------------------------------------------
[実行] - [モジュールのコンパイル] コマンドを選択するか、ツールバーの<コンパイル> ボタンをクリックします。エラーが表示されなければ、モジュールウィンドウを閉じてください。エラーが表示された場合は、入力ミスがないかどうか再度チェックしてください。
フォームを保存してデザインビューを閉じます。
[商品区分] フォームをフォームビューで開きます。[区分名] テキストボックス上でマウスの右ボタンをクリックしてもショートカットメニューは表示されません。
解説
フォームの [ショートカットメニュー/ShortcutMenu] プロパティを「いいえ/No 」に設定すると、そのフォーム全体でショートカットメニューが表示されなくなります。上記で紹介した操作方法では、任意のコントロールの [MouseDown] イベントで、マウスのボタンを押された時に、 ショートカットメニューを表示する右ボタンが押されたかどうかを判断して右ボタンであれば、処理をキャンセルしています。
同様にフォームのデザインビューで [詳細] セクションのバー上で、マウスをダブルクリックしてプロパティシートを開き、詳細セクションの [マウスボタンクリック時/OnMouseDown] プロパティのイベントプロシージャで上記のコードを設定すれば、詳細セクション上でのショートカットメニューを無効にすることができます。サンプルデータベース NWIND.MDB の [商品区分] フォームには、[商品区分サブフォーム] サブフォームが貼り付けてあります。メインフォーム中にあるサブフォーム上でのショートカットメニューを無効にするには、サブフォームをデザインビューで開き、サブフォームの [ショートカットメニュー/ShortcutMenu] プロパティを「いいえ/No 」に設定します。
Keywords: KBHOWTO KB401655
Technology: kbAccessSearch