005-006Windows消息机制C++研讨.ppt

第2章 Windows消息机制 The End 专业教程 理论讲解部分 网络游戏开发语言基础 ——Windows程序设计 第2章 Windows消息机制 第2章 Windows消息机制 Windows菜单 键盘输入获取 鼠标输入获取 定时器 键盘输入获取 鼠标输入获取 鼠标输入获取 熟悉Windows菜单 掌握键盘输入获取 掌握鼠标输入获取 熟悉定时器 2.1 Windows菜单 2.1.1 菜单编辑器 第2章 Windows消息机制 在VC中可以使用菜单编辑器,非常直观地设计菜单。 2.1 Windows菜单 2.1.1 菜单编辑器 第2章 Windows消息机制 每个菜单项都有自己的属性,可以在属性窗口中编辑。 属性名 功能 Caption 菜单标题 Checked 选中标记 Enabled 激活,可以选择 Grayed 灰色,并且非活动的 Popup 菜单项是否有一个子菜单,如果设置True,菜单无法提供ID Break 选中菜单项后退出所在菜单 RightJustify 右对齐菜单及其后续菜单,只对顶级菜单有效 Right Order 菜单从右向作层叠 Help 对于顶级菜单项,指定菜单项将右对齐 ID 菜单项或菜单资源的标识符 Prompt MFC应用程序中,制定选定菜单项时出现在状态栏中的文本 Separator 是否分割线,如果是分割线,那么此项不提供任何命令 2.1 Windows菜单 2.1.1 菜单编辑器 第2章 Windows消息机制 菜单项标题“显示(S)”中的“(S)”表示热键为“S”键。“Alt”键和菜单项后面字符的按键组合就可以激活该菜单项。 ID是菜单的标识符,程序通过引用此标识符辨别菜单项。菜单项的名称一般遵循如下规律: ID_1级标识符_2级标识符_ …… n级菜单标识 2.1 Windows菜单 2.1.2 实现菜单消息 1. 加载菜单 第2章 Windows消息机制 在进行Windows程序设计中,加载菜单的方法有以下3种: wndClass.lpszMenuName = MAKEINTRESOURCE(IDR_NEW_MENU); 在窗口类中加载 在创建窗口时加载菜单 HMENU hMenu; hMenu=LoadMenu(hInstance,MAKEINTRESOURCE(IDR_NEW_MENU)); hwnd = CreateWindow (szAppName,“菜单示例”, WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT, CW_USEDEFAULT,CW_USEDEFAULT,NULL,hMenu,hInstance,NULL) ; 2.1 Windows菜单 2.1.2 实现菜单消息 1. 加载菜单 第2章 Windows消息机制 HMENU hMenu; hMenu = CreateMenu(VOID); 动态加载菜单 创建空菜单: BOOL AppendMenu( HMENU hMenu, UINT uFlags, UINT uIDNewltem, LPCTSTR lpNewltem); 在菜单尾部添加菜单项: 2.1 Windows菜单 2.1.2 实现菜单消息 1. 加载菜单 第2章 Windows消息机制 BOOL InsertMenu( HMENU hMenu,UINT uPosition,UINT uFlags, UINT uIDNewltem,LPCTSTR lpNewltem); 动态加载菜单 插入菜单项: BOOL DeleteMenu(HMENU hMenu,UINT uPosition,UINT uFlags); 删除菜单项: 2.1 Windows菜单 2.1.2 实现菜单消息 1. 加载菜单 第2章 Windows消息机制 BOOL ModifyMenu( HMENU hMenu,UINT uPosition,UINT uFlags, UINT uIDNewltem,LPCTSTR lpNewltem); 动态加载菜单 修改菜单项: BOOL EnableMenuItem(HMENU hMenu,UINT uIDEnableItem,UINT uEnable); 禁止或激活菜单项: 2.1 Windows菜单 2.1.2 实现菜单消息 2. 响应菜单消息 第2章 Windows消息机制 wmId = LOWORD(wParam); //菜单ID wmEvent = HIWORD(wParam); //菜单事件 菜单消息的参数wParam中保存着两个信

文档评论(0)

1亿VIP精品文档

相关文档