「ステップ6 「メニュー コントロールを使う①」」の編集履歴(バックアップ)一覧はこちら

ステップ6 「メニュー コントロールを使う①」」(2010/05/25 (火) 17:25:29) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

公式の解説でOK
大抵のアプリケーションなら備えているメニューコントロールはRADツールからも作成することができます。Windowsアプリケーションには欠かせないメニューコントロールは是非とも自由に操作できるようにしておきたいものです。 本題に入る前に、下地となるノーマル ウィンドウ ベースのプロジェクトを生成しておいて下さい(プロジェクト名を "MenuTest" とします)。 今回は、メニューコントロールを使って「終了」ボタンを作ってみます。項目が1つだけという非常に簡単なメニューです。 では、作成したプロジェクトが開かれた状態になったところで、早速メニューの作成をしていきましょう。プロジェクト ビューのMaterialタブを開くと、「メニュー」フォルダがありますね?(プロジェクトビューが表示されていない場合は、メニューの「表示」→「プロジェクト ビュー」にチェックが入っているか確認を) 新たにメニュー コントロールを作成したいときは、この「メニュー」フォルダを右クリックし、「メニューを挿入」をクリックします。 メニューIDを、"MainMenu" などとし、OKボタンをクリックします。 #image(p6-1.png) 新たにメニューが作成されると、メニューエディタが起動します(後にメニュー エディタを開きたいときは、プロジェクト ビュー内のメニューIDをダブルクリックして下さい)。まずは挿入ボタンをクリックしてメニュー項目を1つ作ってみましょう。 "caption text" とだけ書かれた項目が挿入されるので、それを選択します。すると、IDが "IDM_name"、キャプションが "caption text" になっていることがわかります。「変更」ボタンをクリックし、IDを "IDM_EXIT" に、キャプションを "終了" に変更しておきましょう。 #image(p6-2.png) メニューの作成はこれで終わりです。では、これをウィンドウに貼り付けてみます。プロジェクトビューから、"MainWnd" を開いて下さい。ウィンドウ プロパティに「メニュー」という項目があり、任意のメニュー コントロールを指定することができるようになっています。初期状態では "なし" になっているので、ここを先ほど作成した "MainMenu" に変更します。 次に、メニューの「終了」ボタンが押された時のイベント処理を記述します。ウィンドウ内の適当な部分を右クリックし、「メニューによるイベント」をクリックします。 #image(p6-3.png) #image(p6-4.png) ここで表示されたプロシージャがメニューの「終了」をクリックしたときに実行されるイベント プログラムになります。このプロシージャには、下のようなコードを記述してみましょう。 #asciiart(blockquote){ Sub MainWnd_IDM_EXIT_MenuClick() Dim RetMsg As Long RetMsg=MessageBox(hMainWnd, "ホントに終了しますか?", "MenuTest", MB_YESNO) If RetMsg=IDYES Then DestroyWindow(hMainWnd) End If End Sub } 「はい」「いいえ」ボタンを持つメッセージボックスをMessageBox関数で作成し、変数RetMsgに押されたボタンの識別IDが格納されます。RetMsgの内容がIDYESのとき(「はい」が押されたとき)だけ、DestroyWindow関数を実行し、ウィンドウhMainWndを破棄するような動きになっています。 これでメニューに関する3つの工程 -メニューの作成 -ウィンドウへのメニュー貼り付け -メニューイベントのコーディング が完了しました。コンパイル、実行をして、「終了」ボタンがちゃんと動作するこどうか、試してみましょう。

表示オプション

横に並べて表示:
変化行の前後のみ表示: