CMenu クラス
Windows の HMENU をカプセル化したものです。
class CMenu : public CObject
解説
このクラスには、メニューの作成、トラッキング、更新、および破棄を行うメンバー関数が用意されています。
まず、ローカル変数としてスタック フレーム上に CMenu オブジェクトを構築し、その後新しいメニューを操作する必要があれば CMenu のメンバー関数を呼び出します。 次に、ウィンドウにメニューを設定するために、CWnd::SetMenu を呼び出し、すぐ続けて CMenu オブジェクトの Detach メンバー関数を呼び出します。 CWnd::SetMenu メンバー関数は、新しいメニューをウィンドウのメニューに設定します。その結果、メニューの変更を反映するためにウィンドウが再描画されます。また、メニューの所有権もウィンドウに渡します。 Detach の呼び出しは、CMenu オブジェクトから HMENU を切り離すので、ローカル変数である CMenu 変数がスコープ外となっても、CMenu オブジェクトのデストラクターは、既に所有していないメニューは破棄しません。 メニュー自身は、ウィンドウが破棄されるときに、自動的に破棄されます。
メモリ上にあるテンプレートからメニューを作成するのに、LoadMenuIndirect メンバー関数が使えますが、LoadMenu メンバーを呼び出してリソースからメニューを作成する方が簡単に保守できます。メニュー リソース自身もメニュー エディターを使って、作成および変更できます。
必要条件
**ヘッダー:**afxwin.h