MENUINFO 結構 (winuser.h)

包含功能表的相關信息。

語法

typedef struct tagMENUINFO {
  DWORD     cbSize;
  DWORD     fMask;
  DWORD     dwStyle;
  UINT      cyMax;
  HBRUSH    hbrBack;
  DWORD     dwContextHelpID;
  ULONG_PTR dwMenuData;
} MENUINFO, *LPMENUINFO;

成員

cbSize

類型: DWORD

結構的大小,以位元組為單位。 通話端必須將這個成員設定為 sizeof(MENUINFO)

fMask

類型: DWORD

指出要擷取或設定 (的成員,但 MIM_APPLYTOSUBMENUS) 除外。 這個成員可以是下列一或多個值。

意義
MIM_APPLYTOSUBMENUS
0x80000000
設定會套用至功能表及其所有子功能表。 SetMenuInfo 會使用此旗標, 而 GetMenuInfo 會忽略此旗標
MIM_BACKGROUND
0x00000002
擷取或設定 hbrBack 成員。
MIM_HELPID
0x00000004
擷取或設定 dwContextHelpID 成員。
MIM_MAXHEIGHT
0x00000001
擷取或設定 cyMax 成員。
MIM_MENUDATA
0x00000008
擷取或設定 dwMenuData 成員。
MIM_STYLE
0x00000010
擷取或設定 dwStyle 成員。

dwStyle

類型: DWORD

功能表樣式。 這個成員可以是下列一或多個值。

意義
MNS_AUTODISMISS
0x10000000
當滑鼠在功能表外大約 10 秒時,功能表會自動結束。
MNS_CHECKORBMP
0x04000000
相同的空間會保留給複選標記和位圖。 如果繪製複選標記,則點陣圖不是。 所有複選標記和位圖都會對齊。 用於某些專案使用複選標記和部分使用位圖的功能表。
MNS_DRAGDROP
0x20000000
功能表項是 OLE 置放目標或拖曳來源。 功能表擁有者會收到 WM_MENUDRAGWM_MENUGETOBJECT 訊息。
MNS_MODELESS
0x40000000
功能表為無模式;也就是說,當功能表作用中時,沒有功能表強制回應訊息迴圈。
MNS_NOCHECK
0x80000000
沒有保留任何空格給專案左邊的複選標記。 仍然可以選取專案,但專案旁不會顯示複選標記。
MNS_NOTIFYBYPOS
0x08000000
當用戶進行選取時,功能表擁有者會收到 WM_MENUCOMMAND 訊息,而不是 WM_COMMAND 訊息。 MNS_NOTIFYBYPOS 是功能表標題樣式,套用至個別子功能表時沒有任何作用。

cyMax

類型: UINT

以像素為單位的功能表高度上限。 當功能表項超過可用空間時,會自動使用滾動條。 默認 (0) 為螢幕高度。

hbrBack

類型: HBRUSH

要用於功能表背景之筆刷的句柄。

dwContextHelpID

類型: DWORD

內容說明標識碼。 這是 GetMenuContextHelpIdSetMenuContextHelpId 函式中使用的相同值。

dwMenuData

類型: ULONG_PTR

應用程式定義的值。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
標頭 winuser.h (包括 Windows.h)

另請參閱

功能表概觀