使用自定义菜单.
如图:
1,使用VS 生成菜单。
在注册窗口类的时候中给菜单名赋值时加入菜单,在这里,常见的是将菜单名和程序名设为一样,便于赋值
例如:
TCHAR szAppName[] = TEXT("MenuDemo");
….
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndclass.hInstance = hInstance;
wndclass.lpfnWndProc = WndProc;
wndclass.lpszClassName = szAppName;
///注册窗口类的时候加入菜单
wndclass.lpszMenuName = szAppName;
wndclass.style = CS_VREDRAW | CS_HREDRAW;
2.
设置菜单项选中状态使用函数
如图:
CheckMenuItem(hMenu, iSelection, MF_UNCHECKED);
原型:
DWORD CheckMenuItem
( HMENU hmenu,
UINT uIDCheckItem,
UINT uCheck );
nCheck值一般有:MF_BYCOMMAND、MF_BYPOSITION、MF_CHECKED、MF_ENABLED 、MF_GRAYED 、MF_HILITE、MF_MENUBARBREAK 、MF_MENUBREAK 、
MF_OWNERDRAW 、MF_POPUP 、MF_SEPARATOR 、MF_STRING、MF_UNCHECKED 、MF_UNHILITE
3.
设置菜单项变灰(保持不能选择状态)使用函数
如图:
EnableMenuItem(hMenu, ID_TIMER_START, MF_GRAYED);