POPUPMENUITEM 構造体
メニューまたはサブメニューを開くメニュー リソース内のメニュー項目に関する情報が含まれます。 ここで説明する構造体定義は、説明のみを目的としています。標準のヘッダー ファイルには存在しません。
構文
typedef struct {
DWORD type;
DWORD state;
DWORD id;
WORD resInfo;
szOrOrd menuText;
} POPUPMENUITEM;
メンバー
-
type
-
型: DWORD
-
メニュー項目について説明します。 このメンバーに含めることができる値の一部には、次の一覧に示す値が含まれます。
このメンバーは、表示される値に加えて、MENUITEMINFO 構造体の fType メンバーと共にリストされている型値の組み合わせにすることもできます。 型の値は、MFT_で始まる値です。 これらの定義済みのMFT_* 型の値を使用するには、.rc ファイルに次のステートメントを含めます。
#include "winuser.h"
値 説明 - MF_END
- 0x80
メニュー項目は、メニューの最後です。フラグはシステムによって内部的に使用されます。 - MF_POPUP
- 0x01
メニュー項目によってメニューまたはサブメニューが開きます。フラグはシステムによって内部的に使用されます。 -
状態
-
型: DWORD
-
メニュー項目について説明します。 このメンバーは、MENUITEMINFO 構造体の dwState メンバーと一覧表示されている状態値の組み合わせにすることができます。 状態の値は、MFS_で始まる値です。 これらの定義済みのMFS_* 状態値を使用するには、.rc ファイルに次のステートメントを含めます。
#include "winuser.h"
-
id
-
型: DWORD
-
WM_COMMAND メッセージで渡されるメニュー項目を識別する数値式。
-
Resinfo
-
種類: WORD
-
メニュー項目の種類を指定するビット フラグのセット。 このメンバーには、次のいずれかの値を指定できます。
値 説明 - MFR_END
- 0x80
メニュー項目は、このサブメニューまたはメニュー リソースの最後です。このフラグは、システムによって内部的に使用されます。 - MFR_POPUP
- 0x01
メニュー項目によってメニューまたはサブメニューが開きます。フラグはシステムによって内部的に使用されます。 -
menuText
-
種類: szOrOrd
-
このメニュー項目のテキストを含む null で終わる Unicode 文字列。 この文字列のサイズに固定制限はありません。
解説
メニューまたはサブメニューを開くメニュー項目ごとに 1 つの POPUPMENUITEM 構造体があります。 この種類のメニュー項目を識別するには、型メンバーを MF_POPUP に設定し、resInfo メンバーのMFR_POPUP ビットを0x0001に設定します。 この場合、メニューまたはサブメニューの RT_MENU リソースに書き込まれる最終的なデータは MENUHELPID 構造体です。 MENUHELPID には、 WM_HELP 処理中にメニューを識別する数値式が含まれています。
さらに、resInfo メンバーにMFR_POPUPビットが設定されているすべての POPUPMENUITEM 構造体の後に MENUHELPID 構造体と、そのサブメニュー内のメニュー項目ごとに 1 つずつ、追加の数の POPUPMENUITEM 構造体が続きます。 サブメニューの最後の POPUPMENUITEM 構造体には、resInfo メンバーにMFR_END ビットが設定されます。 リソースの末尾を見つけるには、すべてのMFR_POPUPに一致するMFR_ENDと、最も外側のメニュー項目のセットに一致する 1 つの追加のMFR_ENDを探します。
型メンバーを MF_END に設定して、最後のメニュー項目を示します。 サブメニューを入れ子にできるため、複数のレベルの MF_ENDが存在する可能性があります。 これらのインスタンスでは、メニュー項目はシーケンシャルです。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows 2000 Server [デスクトップ アプリのみ] |