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 [僅限桌面應用程式] |