|
ダイアログにメニューをつける
今回はダイアログにメニューをつけてみましょう。ダイアログにメニューをつけるのは簡単です。リソースエディタのみでできます。
今回もダイアログベースでプロジェクトを作成します。メニューを追加するために、まずはメニューリソースを作成します。リソースエディタから、リソースの追加で「Menu」を選択し、新規作成します。

次はメニュー項目を作成します。ショートカットキーを設定するときは、キャプションの後に(&F)というように記述します。こうすると、Alt+Fでメニューが実行できるようになります。

次はサブメニューを作っていきます。ここではOK、キャンセルの2つのサブメニューを追加しました。

次にメニュー項目のプロパティを設定します。ここではIDを設定します。他はデフォルトでOKです。

次はダイアログにメニューを関連付けます。ダイアログのプロパティで、「Menu」に作成したメニューのIDを指定します。

次は、各メニューが選択されたときのイベントハンドラを追加しましょう。メニューエディタから、「イベントハンドラの追加」を選択します。

「メッセージの種類」に「COMMAND」を選択し、「クラスの一覧」でダイアログクラスを選択します。

イベントハンドラの内容は次のようにしました。今回は、"OK"、"キャンセル"ボタンと同じ動作をさせるだけなので、OnOK()、OnCancel()をそのまま呼び出しています。
// メニュー"OK"
void CMenu2Dlg::OnMenuOk()
{
OnOK();
}
// メニュー"キャンセル"
void CMenu2Dlg::OnMenuCancel()
{
OnCancel();
}
|
では、ビルドして実行してみましょう。ダイアログにメニューが追加されました。メニューを選択すると、"OK"、"キャンセル"ボタンと同じ動作をします。

|