该菜单在资源描述文件中的定义如下: #include <windows.h> #include menu.h'l ∥菜单定义 My menu MENU MOⅤ EABLE [ POPUP"文件(&F) { MENUITEM"新建(&N)", IDM NEW MENUITEM"打开(&0)", IDM OPEN MENUITEM"关闭(&C)", IDM CLOSE MENUITEM 保存(&S)", IDM SAVE MENUITEM"另存为(&A)", IDM SAVEAS MENUITEM SEPARATOR MENUITEM“退出(&X)”, IDM EXIT
6 该菜单在资源描述文件中的定义如下: #include <windows.h> #include "Menu.h" ∥菜单定义 My_menu MENU MOVEABLE {POPUP "文件(&F)" { MENUITEM "新建(&N)" , IDM_NEW MENUITEM "打开(&O)" , IDM_OPEN MENUITEM "关闭(&C)" , IDM_CLOSE MENUITEM "保存(&S)" , IDM_SAVE MENUITEM "另存为(&A)" , IDM_SAVEAS MENUITEM SEPARATOR MENUITEM “退出(&X)” , IDM_EXIT } }
menu. h文件中定义了菜单项标识所对应的 数值: ●●●●●● #define IDM neW 10 define IDM OPEN define IDM CLOSE define IDM SAVE 13 define IDM savEAS 14 define IDM EXIt 15 ●●●
7 menu.h 文件中定义了菜单项标识所对应的 数值: …… #define IDM_NEW 10 #define IDM_OPEN 11 #define IDM_CLOSE 12 #define IDM_SAVE 13 #define IDM_SAVEAS 14 #define IDM_EXIT 15 …
(2)加载菜单资源 在窗口类中加载菜单 WNDCLASS wndclass wndclass. pszMenuName=lpszMenuName 在创建窗口时加载菜单 HWNd hwnd: hmenu hmenu hmenuLoadMenu(hInstance, "My menu") hwnd=CreateWindow(., hmenu,.) 动态加载菜单 hmenu2=LoadMenu(hInstance, Menu2); Setmenu(hwnd, hmenu2);
8 (2)加载菜单资源 在窗口类中加载菜单 在创建窗口时加载菜单 动态加载菜单 WNDCLASS wndclass; … wndclass.lpszMenuName=lpszMenuName; HWND hwnd;HMENU hmenu; … hmenu=LoadMenu(hlnstance, "My_menu"); hwnd=CreateWindow( …,hmenu, …); hmenu2=LoadMenu(hlnstance, "Menu2"); SetMenu(hwnd,hmenu2); …
7.1.2操作菜单项 1.禁止或激活菜单项据M配M的取值,可为 BOOL EnableMenultem 单项在菜单中位置 (HMENU hmenu UINT WIDEnableltem,//被禁止或激活的菜单项标识 uint dwEnable 标识 说明 MF BYCOMMAND以⑩值标识菜单项 MF ENABLED激活菜单项 MF BYPOSITION表明以位置标识菜单项 MF GRAYED禁止菜单项并使其变灰显示 MF DISABLED禁止菜单项
9 7.1.2操作菜单项 1.禁止或激活菜单项 BOOL EnableMenuItem (HMENU hmenu, UlNT wIDEnableItem,//被禁止或激活的菜单项标识 UINT dwEnable ) 据dwEnable的取值,可为 菜单项的ID值,也为该菜 单项在菜单中位置 标 识 说 明 MF_BYCOMMAND以ID值标识菜单项 MF_ENABLED 激活菜单项 MF_BYPOSITION 表明以位置标识菜单项 MF_GRAYED 禁止菜单项并使其变灰显示 MF_DISABLED 禁止菜单项
2.设置或取消选中标志 dWORD CheckMenultem hmenU hmenu uint WIDCheckitem,//莱单项标识 uint dw Check //操作标识 标识 说明 MF CHECKED添加选中标志 MF UNCHECKED删除选中标志 10
10 2.设置或取消选中标志 DWORD CheckMenuItem ( HMENU hmenu, UINT wIDCheckItem, //菜单项标识 UINT dwCheck //操作标识 ) 标 识 说 明 MF_CHECKED 添加选中标志 MF_UNCHECKED 删除选中标志