MENUITEMINFO

【勇芳软件工作室】汉化HomePreviousNext

MENUITEMINFO结构包含有关菜单项的信息。

typedef结构tagMENUITEMINFO {el-Latn
UINT cbSize;

UINT fMask;

UINT fType;

UINT fState;

UINT wID;

HMENU hSubMenu;

HBITMAP hbmpChecked;

HBITMAP hbmpUnchecked;

DWORD dwItemData;

LPTSTR dwTypeData;

UINT cch;

} MENUITEMINFO, FAR *LPMENUITEMINFO;

会员

CBSIZE

结构大小,以字节为单位。

fMask

会员检索或设置。该成员可以是以下值中的一个或多个:

含义
MIIM_CHECKMARKS检索或设置hbmpCheckedhbmpUnchecked成员。
MIIM_DATA检索或设置dwItemData成员。
MIIM_ID检索或设置wID成员。
MIIM_STATE检索或设置fState成员。
MIIM_SUBMENU检索或设置hSubMenu成员。
MIIM_TYPE检索或设置FTYPEdwTypeData成员。

FTYPE

菜单项类型。该成员可以是以下值中的一个或多个:

含义
MFT_BITMAP使用位图显示菜单项。dwTypeData成员的低位字是位图句柄,CCHen成员被忽略。
MFT_MENUBARBREAK将菜单项放在新行(菜单栏)或新列(对于下拉菜单,子菜单或快捷菜单)中。对于下拉菜单,子菜单或快捷菜单,垂直线将新列与旧列分开。
MFT_MENUBREAK将菜单项放在新行(菜单栏)或新列(对于下拉菜单,子菜单或快捷菜单)中。对于下拉菜单,子菜单或快捷菜单,列不会以垂直线分隔。
MFT_OWNERDRAW分配将菜单项绘制到拥有菜单的窗口的责任。在第一次显示菜单之前,该窗口将收到一条WM_MEASUREITEM消息,每当必须更新菜单项的出现时,将显示WM_DRAWITEM消息。如果指定了此值,则dwTypeData成员包含应用程序定义的32位值。
MFT_RADIOCHECK如果hbmpChecked成员为NULL,则使用单选按钮标记而不是复选标记显示已检查的菜单项。
MFT_RIGHTJUSTIFY右键菜单项和任何后续项。该值仅在菜单项位于菜单栏中时有效。
MFT_SEPARATOR指定菜单项是分隔符。菜单项分隔符显示为水平分割线。dwTypeDataCCHen成员将被忽略。此值仅在下拉菜单,子菜单或快捷菜单中有效。
MFT_STRING使用文本字符串显示菜单项。dwTypeData成员是指向以null结尾的字符串的指针,CCHen成员是字符串的长度。

MFT_BITMAP,MFT_SEPARATOR和MFT_STRING值不能相互组合。en

fState

菜单项状态。该成员可以是以下值中的一个或多个:

含义
MFS_CHECKED检查菜单项。有关已选菜单项的详细信息,请参阅hbmpChecked成员。
MFS_DEFAULT指定菜单项是默认值。菜单只能包含一个默认菜单项,以粗体显示。
MFS_DISABLED禁用菜单项,使其无法选择,但不会灰色。
MFS_ENABLED启用菜单项,以便可以选择。这是默认状态。
MFS_GRAYED禁用菜单项并将其灰化,使其不能被选择。
MFS_HILITE突出菜单项。
MFS_UNCHECKED取消选中菜单项。有关未选中的菜单项的更多信息,请参阅hbmpUnchecked成员。
MFS_UNHILITE从菜单项中移除高光。这是默认状态。

wID

应用程序定义的16位值,用于标识菜单项。

hSubMenu

处理到与菜单项相关的下拉菜单或子菜单。如果菜单项不是打开下拉菜单或子菜单的项,则此成员为NULL。

hbmpChecked

如果选中该项,则处理位图以显示该项目旁边。如果此成员为NULL,则使用默认位图。如果指定了MFT_RADIOCHECK类型值,则默认位图是一个项目符号。否则,它是一个复选标记。

hbmpUnchecked

如果未选中,则处理位图以显示该项目旁边。如果此成员为NULL,则不使用位图。

dwItemData

应用程序定义的值与菜单项相关联。

dwTypeData

菜单项的内容。该成员的含义取决于菜单项类型:MFT_BITMAP,MFT_SEPARATOR或MFT_STRING值。

CCHen

当收到关于MFT_STRING类型的菜单项的信息时菜单项文本的长度。其他菜单项类型的值为零。当设置菜单项的内容时,会忽略该成员。

备注

MENUITEMINFO结构与GetMenuItemInfoInsertMenuItemSetMenuItemInfo功能一起使用。

也可以看看

GetMenuItemInfo, InsertMenuItem, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM