以下是该方法的一般语法:
BOOL SetMenuInfo(LPCMENUINFO lpMenuInfo);
参数说明:
- lpMenuInfo:指向 MENUINFO 结构的指针,该结构包含了菜单的各种信息。
MENUINFO 结构的定义如下:
typedef struct tagMENUINFO {
DWORD cbSize;
DWORD fMask;
DWORD dwStyle;
UINT cyMax;
HBRUSH hbrBack;
DWORD dwContextHelpID;
ULONG_PTR dwMenuData;
} MENUINFO, *LPMENUINFO;
参数具体含义如下:
- cbSize:结构的大小,以字节为单位,用于指定结构的大小。
- fMask:用于指定 MENUINFO 结构中哪些成员包含有效信息的标志。
- dwStyle:菜单的样式标志。
- cyMax:指定菜单的最大高度。
- hbrBack:用于绘制菜单背景的画刷句柄。
- dwContextHelpID:上下文帮助标识符。
- dwMenuData:菜单数据,可以是应用程序定义的任何值。
返回值:
- 如果成功设置菜单信息,则返回 TRUE;否则,返回 FALSE。
使用示例:
CMenu myMenu;
myMenu.LoadMenu(IDR_MYMENU);
MENUINFO menuInfo;
menuInfo.cbSize = sizeof(MENUINFO);
menuInfo.fMask = MIM_STYLE | MIM_BACKGROUND;
menuInfo.dwStyle = MNS_AUTODISMISS;
menuInfo.hbrBack = (HBRUSH)GetStockObject(WHITE_BRUSH);
myMenu.SetMenuInfo(&menuInfo);
这个方法允许你在运行时设置菜单的一些显示和样式属性。具体的效果和影响取决于你设置的 MENUINFO 结构的成员。
转载请注明出处:http://www.pingtaimeng.com/article/detail/18964/MFC/CMenu