共用方式為


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
功能表項目會開啟功能表或子功能表;旗標是由系統內部使用。

state

類型: 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 字串,其中包含此功能表項目的文字。 此字串的大小沒有固定限制。

備註

每個開啟功能表或子功能表的功能表項目都有一個 POPUPMENUITEM 結構。 藉由將類型成員設定為MF_POPUP,以及將resInfo成員中的 MFR_POPUP 位設定為0x0001,以識別此類型的功能表項目。 在此情況下,寫入功能表或子功能表 RT_MENU 資源的最終資料是 MENUHELPID 結構。 MENUHELPID 包含數值運算式,可在 WM_HELP 處理期間識別功能表。

此外,在 resInfo成員中設定MFR_POPUP位的每個POPUPMENUITEM結構都會接著MENUHELPID結構加上額外的POPUPMENUITEM結構數目,該子功能表中的每個功能表項目各有一個。 子功能表中的最後一個POPUPMENUITEM結構會在resInfo成員中設定MFR_END位。 若要尋找資源的結尾,請尋找每個MFR_POPUP的相符MFR_END,再加上一個符合最外層功能表項目的其他MFR_END

類型 成員設定為 MF_END,以指出最後一個功能表項目。 因為您可以巢狀子功能表,所以可以有多個層級 的MF_END。 在這些實例中,功能表項目是循序的。

規格需求

需求
最低支援的用戶端
Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限桌面應用程式]

另請參閱

參考

MENUHEADER

MENUHELPID

MENUITEMINFO

NORMALMENUITEM

概念

資源