CMenu クラス

Windows の HMENU をカプセル化したものです。

class CMenu : public CObject

解説

このクラスには、メニューの作成、トラッキング、更新、および破棄を行うメンバー関数が用意されています。

まず、ローカル変数としてスタック フレーム上に CMenu オブジェクトを構築し、その後新しいメニューを操作する必要があれば CMenu のメンバー関数を呼び出します。 次に、ウィンドウにメニューを設定するために、CWnd::SetMenu を呼び出し、すぐ続けて CMenu オブジェクトの Detach メンバー関数を呼び出します。 CWnd::SetMenu メンバー関数は、新しいメニューをウィンドウのメニューに設定します。その結果、メニューの変更を反映するためにウィンドウが再描画されます。また、メニューの所有権もウィンドウに渡します。 Detach の呼び出しは、CMenu オブジェクトから HMENU を切り離すので、ローカル変数である CMenu 変数がスコープ外となっても、CMenu オブジェクトのデストラクターは、既に所有していないメニューは破棄しません。 メニュー自身は、ウィンドウが破棄されるときに、自動的に破棄されます。

メモリ上にあるテンプレートからメニューを作成するのに、LoadMenuIndirect メンバー関数が使えますが、LoadMenu メンバーを呼び出してリソースからメニューを作成する方が簡単に保守できます。メニュー リソース自身もメニュー エディターを使って、作成および変更できます。

必要条件

**ヘッダー:**afxwin.h

参照

処理手順

CTRLTEST サンプル:カスタム コントロールの実装

DYNAMENU サンプル:メニューに動的に更新します。

参照

CObject クラス

階層図

CObject クラス

その他の技術情報

CMenu のメンバー