CSnapInItemImpl::UpdateMenuState
在插入到管理单元对象的上下文菜单之前,调用此函数修改菜单项。
void UpdateMenuState(
UINT id,
LPTSTR pBuf,
UINT *flags
);
参数
id
[in]要设置的菜单项的ID。pBuf
[out]一个指向字符串的指针可以将更新的菜单项。flags
[in]用于指定新状态标志。它可以是以下标志的组合:MF_POPUP 指定这是在上下文菜单中的子菜单。菜单项,插入点,并将子菜单可以添加到此子菜单使用其 lCommandID 作为其 IInsertionPointID。
MF_BITMAP 和 MF_OWNERDRAW 这些标志不允许并导致 E_INVALIDARG的返回值。
MF_SEPARATOR 绘制一条的分隔线。仅 IContextMenuProvider 允许添加与 MF_SEPARATOR 的菜单项设置。
MF_CHECKED 在菜单项旁放置一个复选标记。
MF_DISABLED 禁用菜单项,因此不能选择,但是,该标记不灰色它。
MF_ENABLED 启用菜单项,以便它可以选择,将其还原从其灰显的状态。
MF_GRAYED 禁用菜单项,这种它,因此不能选择。
MF_MENUBARBREAK 函数与菜单栏上的 MF_MENUBREAK 标志相同。对于下拉菜单上子菜单或快捷菜单,新列从旧列用竖线。
MF_MENUBREAK 将该项目在新行(对于菜单栏中)或新列(为一个下拉菜单上子菜单或快捷菜单),而无需分馏柱。
MF_UNCHECKED 不在项目(默认值)旁放置一个复选标记。
不能使用标志的以下组:
MF_DISABLED、 MF_ENABLED和 MF_GRAYED。
MF_MENUBARBREAK 和 MF_MENUBREAK。
MF_CHECKED 和 MF_UNCHECKED。
要求
Header: atlsnap.h