次の方法で共有


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 [デスクトップ アプリのみ]

関連項目

参照

MENUHEADER

MENUHELPID

MENUITEMINFO

NORMALMENUITEM

概念

リソース