3.ポップアップメニューを作成・表示する |
1.ポップアップメニューを作成・表示する 2. 3. 4. 5. 6. |
下記プログラムコードに関する補足・注意事項 動作確認:Windows Vista・Windows 7 (32bit) / VB6.0(SP6) Option :[Option Explicit] 参照設定:追加なし 使用 API:なし その他 : : |
1.ポップアップメニューを作成・表示する |
1.ポップアップメニューの作成 基本的にはツールバーの作成と同じです。 ただ、メニューバーには表示される必要がないので[表示]チェックボックスをOFFにします (下図参照) □表示のVを外す、ただし、メニューのタイトルだけでサブメニューはチェックを入れておくこと 又、タイトルの名前(M)のところでつけた名前 (MyPopMe) がポップアップメニュー呼び出しのメニューネームになる。 2.ポップアップメニューを表示する。 構文 object.PopupMenu menuname, flags, x, y, boldcommand (詳しくはヘルプ参照) Private Sub Form_MouseDown(Button As Integer, Shift _ As Integer, X As Single, Y As Single) 'マウスの右クリックを検知 If Button = vbRightButton Then 'ポップアップメニューの表示 Form1.PopupMenu MyPopMe End If End Sub 3.メニューの実行 後は通常のメニューと同じです Private Sub BakColBlue_Click() Form1.BackColor = QBColor(9) End Sub 4.特定の場所での表示 テキストボックス上で別のポップアップメニューを表示する場合 Private Sub Text1_MouseDown(Button As Integer, Shift _ As Integer, X As Single, Y As Single) 'マウスの右クリックを検知 Text1.Enabled = False 'この3行を入れると Text1.Enabled = True '右のシングルクリックで Text1.SetFocus 'カスタムメニュー表示 If Button = vbRightButton Then 'ポップアップメニューの表示 Form1.PopupMenu MyPopMe End If End Sub ただし、この場合右のダブルクリックもしくは、右のシングルクリックを2回しないと表示しません 右のシングルクリックには、標準のポップアップメニューが割り当てられているからかな?と思います。 従って上記のように3行追加すると右のシングルクリックで表示します。又、APIを使ったやり方がマイクロソフトのサポートページにあります。 5.メニューの使い分け(複数のメニューを使用する) メニュー作成時下図のようにメニュー毎にチェックをはずし作成する 下図では3種類のポップアップメニューを作成したことになる。 |
2. |
3. |
4. |
5. |
6. |
検索キーワード及びサンプルコードの別名(機能名) |
メニューを作成表示する ポップアップメニューを作成表示する 右クリックで表示するメニュー |