Win32プログラミング講座 〜 Step6. メニュー コントロールを使う@ 〜![]() 本題に入る前に、下地となるノーマル ウィンドウ ベースのプロジェクトを生成しておいて下さい(プロジェクト名を "MenuTest" とします)。 今回は、メニューコントロールを使って「終了」ボタンを作ってみます。項目が1つだけという非常に簡単なメニューです。では、作成したプロジェクトが開かれた状態になったところで、早速メニューの作成をしていきましょう。プロジェクト ビューのMaterialタブを開くと、「メニュー」フォルダがありますね?(プロジェクトビューが表示されていない場合は、メニューの「表示」→「プロジェクト ビュー」にチェックが入っているか確認を)
新たにメニューが作成されると、メニューエディタが起動します(後にメニュー エディタを開きたいときは、プロジェクト ビュー内のメニューIDをダブルクリックして下さい)。まずは挿入ボタンをクリックしてメニュー項目を1つ作ってみましょう。
![]() "caption text" とだけ書かれた項目が挿入されるので、それを選択します。すると、IDが "IDM_name"、キャプションが "caption text" になっていることがわかります。「変更」ボタンをクリックし、IDを "IDM_EXIT" に、キャプションを "終了" に変更しておきましょう。
![]() メニューの作成はこれで終わりです。では、これをウィンドウに貼り付けてみます。プロジェクトビューから、"MainWnd" を開いて下さい。ウィンドウ プロパティに「メニュー」という項目があり、任意のメニュー コントロールを指定することができるようになっています。初期状態では "なし" になっているので、ここを先ほど作成した "MainMenu" に変更します。 次に、メニューの「終了」ボタンが押された時のイベント処理を記述します。ウィンドウ内の適当な部分を右クリックし、「メニューによるイベント」をクリックします。
![]()
![]() ここで表示されたプロシージャがメニューの「終了」をクリックしたときに実行されるイベント プログラムになります。このプロシージャには、下のようなコードを記述してみましょう。
「はい」「いいえ」ボタンを持つメッセージボックスをMessageBox関数で作成し、変数RetMsgに押されたボタンの識別IDが格納されます。RetMsgの内容がIDYESのとき(「はい」が押されたとき)だけ、DestroyWindow関数を実行し、ウィンドウhMainWndを破棄するような動きになっています。 これでメニューに関する3つの工程
・メニューの作成 が完了しました。コンパイル、実行をして、「終了」ボタンがちゃんと動作するこどうか、試してみましょう。
![]()
トップへ戻る
|