メニューの作成
メニューは、いろいろなCEのアプリを見ると、最上段にありますね。こうするには、コマンドバーにメニューを追加する形式を取るようです。で、ヘルプを駆使して、何とか作成方法を探しました。それによる方法を説明します。
まず、コマンドバーを初期化するサブルーチン(関数)を作ります。関数名はInitCommnadBar( )とヘルプの通りにしました。
Sub InitCommandBar() Dim mnuMain As CommandbarLib.CommandBarMenuBar Dim mnuFile As CommandbarLib.Item Dim mnuHelp As CommandbarLib.Item Set mnuMain = CommandBar1.Controls.Add(cbrMenuBar, "MainMenu") 'add File menu items Set mnuFile = mnuMain.Items.Add(1, "File", "&File") mnuFile.SubItems.Add , "Exit", "終了" 'add Help menu items Set mnuHelp = mnuMain.Items.Add(2, "Help", "&Help") mnuHelp.SubItems.Add , "Contents", "コンテンツ" mnuHelp.SubItems.Add , "About", "バージョン情報" End Sub |
☆余談 <BASIC言語って不思議>
普段僕は、C言語なのですが、上のサブメニューを作っている命令が不思議に感じます。
Addメソッドは、( )で引数を囲わなくても良いのですね。
|
そうしたら、フォームをロードするイベントでこの初期化コマンドを実行させます。
Private Sub Form_Load() InitCommandBar End Sub |
これで、メニューができあがりました。
あとは、メニューをマウスで選択したときの動作を書きます。
Private Sub CommandBar1_MenuClick(ByVal Item As
CommandbarLib.Item) If Item.Key = "Exit" Then App.End If Item.Key = "About" Then MsgBox "isPrime Ver.1.00", vbOKOnly, "About" End If End Sub |
Item.Keyにどのメニュー項目が選択されたかが入っていますので、それをIF文でもSELECT-CASE文でも良いですから、それを使って見分けてやればいいです。
ちなみに、Item.Keyの値は、先に作ったメニューのところの
mnuFile.SubItems.Add , "Exit", "終了"
Addの後ろの2つの引数のうちの最初のものが入ります。