1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,Windows,中的资源,内容提要,资源概述,图标,光标,字符串,菜单,快捷键,对话框,资源概述,资源,是一些存储在二进制文件中的数据,但它们并不是驻留在程序的数据区域中,必须通过,Windows,提供的,API,间接的将其加载到内存中,以备使用。,分类,图标、光标、菜单、对话框、位图、字体、键盘快捷键、字符串以及版本信息等;,资源概述,资源的添加,资源的编译,资源概述,资源的一般操作,创建,在资源文件中定义,加载,使用,图标资源,图标的显示:,应用程序窗口标题栏的左上角,开始菜单,任务栏,资源管理器,桌面
2、快捷方式,大、小图标,显示在任务栏、标题栏上的为小图标,其它位置为大图标,图标资源,图标的创建,文件,新建,资源脚本,插入,资源,ICON,属性设置,图标在资源文件中的定义,可将,resource.h,添加到工程的,Header Files,目录中,并查看,#define,中的相关内容,图标的加载,LoadIcon,(hInstance,图标资源标识指针,),图标资源,图标的使用,源码,示例,光标资源,光标的用途:,用鼠标操作时在屏幕上显示位图,不同的操作状态可配合不同的光标形状,windows,中的,.cur,文件提供了默认的光标,光标的创建,同图标资源,光标在资源文件中的定义,同图标资源,
3、光标的加载,LoadCursor(hInstance,光标资源标识指针,),光标资源,光标应用,源码,示例,API,积累,LoadIcon,(),LoadCursor,(),SetCursor,(),GetWindowLong,(),SetWindowLong,(),MAKEINTRESOURCE,菜单资源,作用:,告诉用户该应用程序所能提供的操作,用户通过点击菜单项来执行相应的操作,工作原理:,每个菜单项被赋予唯一的,ID,Windows,向应用程序发送包含该,ID,的,WM_COMMAND,消息,在消息处理程序中根据不同的,ID,予以响应,菜单资源,显示内容,字符串、位图,状态属性,启用,
4、有效)、禁用(失效)、灰化(失效)、已选,分层,主菜单(顶层菜单),子菜单(弹出式菜单、下拉式菜单),标识,操作对象为主菜单或子菜单时:句柄,操作对象为菜单项时:,ID,菜单资源,菜单消息:,显示菜单之前,WM_INITMENU,弹出子菜单之前,WM_INITMENUPOPUP,菜单上移动鼠标,WM_MENUSELECT,选择菜单,WM_COMMAND,选择系统菜单,WM_SYSCOMMAND,WM_COMMAND,消息:,LOWORD(wParam,),菜单项的,ID,HIWORD(wParam,)0,lParam,0,菜单资源,菜单的创建,文件,新建资源脚本,插入资源,MENU,属性设
5、置,菜单在资源文件中的定义,查看,.,rc,文件的内容(用记事本打开),查看,resource.h,文件中的相关内容,菜单的加载,LoadMenu,(hInstance,菜单资源标识指针,),菜单资源,菜单的使用,方法一:在窗口类中加载菜单,方法二:在创建窗口时加载菜单,方法三:在消息处理过程中动态加载菜单,菜单的动态编辑,新建菜单,CreateMenu,(),、,CreatePopupMenu,(),添加菜单项,AppendMenu,(),、,InsertMenu,(),删除菜单项,RemoveMenu,(),更改菜单项属性,CheckMenuItem,、,EnableMenuItem,菜单
6、资源,常用,API:,刷新菜单,DrawMenuBar,(),获取主菜单句柄,GetMenu,(),获取子菜单句柄,GetSubMenu,(),获取菜单项,ID,GetMenuItemID,(),菜单项属性,CheckMenuItem,(),菜单项属性,CheckMenuRadioItem,菜单项属性,EnableMenuItem,(),重设菜单,SetMenu,(),弹出式菜单,TrackPopupMenu,(),销毁菜单,DestroyMenu,(),菜单资源,菜单应用,例,1,菜单的三种加载方式,源码,示例,例,2,菜单的动态创建与编辑,源码,示例,例,3,单选与多选菜单项、快捷菜单,源码,示例,键盘加速键资源,加速键的创建,文件,新建资源脚本,插入资源,ACCELERATOR,按键设置,加速键的加载,LoadAccelerator,(),加速键的翻译,TranslateAcceletrator,(),加速键的使用,源码,示例,