文档详情

第三章-资源在Windows编程中的应用.ppt

发布:2018-04-19约2.51万字共89页下载文档
文本预览下载声明
第5章 文本与字体 Huang Weitong 第三章 资源在Windows 编程中的应用 内容提要 菜单与加速键资源的应用 位图资源及其应用 对话框资源及其应用 图标资源及其应用 Windows编程可用的资源 可用的资源类型 菜单 加速键 位图 对话框 图标 …... 资源使用的目的——便于应用程序与用户之间的交互。 创建和编辑资源的工具——资源编辑器。 §3.1. 菜单与加速键 资源及其应用 1.菜单与加速键资源的作用 菜单是窗口的重要组成部分,使用户直观地了解和使用程序的功能。 加速键可使菜单的操作更灵活快捷。 菜单组成: 主菜单 下拉式菜单框 菜单项热键标识 菜单项加速键标识 菜单项分隔线 选中的标识 2.菜单的创建过程 创建过程——菜单定义和加载 菜单在资源描述文件中定义 菜单名 MENU [,选项] { 菜单项列表 } 2.菜单的创建过程(续) 加载菜单资源三种方法 在窗口类中加载菜单 在创建窗口时加载菜单 动态加载菜单 3. 菜单项的操作 激活或禁止菜单项(指定该项的初始状态); 设置或取消选中标志(“ √” ); 增加菜单项; 删除菜单项; 修改菜单项; …... 4. 动态地创建菜单 动态菜单可节省系统资源,分两步骤创建。 5. 加速键资源 加速键是伴随菜单的一种常用的资源。 创建加速键的步骤: 在资源描述文件中定义加速键资源; 加载加速键资源; 翻译加速键。 在资源描述文件中定义加速键资源 资源描述文件定义加速键实例: //对名为“ Menu”的窗口菜单项的加速键定义: #includewindows.h #includeMenu.h … ∥菜单定义 … Menu ACCELERATORS ∥定义加速键表 “ Menu” { “ ^N”,IDM_NEW “ ^O”,IDM_OPEN “ ^S”,IDM_SAVE } 加载加速键资源 翻译加速键 6. 创建菜单资源实例 【例1】创建一个通用的窗口菜单的构架,用户可通过选择“文件”弹出式菜单中的“创建统计计算菜单项”动态地创建主菜单中的“统计计算”菜单项。 §3.2. 位图资源及其应用 1.位图概念 位图——描述每个象素属性的图像信息。 在内存中操作以提高刷新速度。获取内存设备环境,调用函数CreateCompatibleDC。 Hdcmem = CreateCompatibleDC(hdc); 调用函数SelectObject将位图文件选入内存设备环境,才可操作位图。 操作位图束后,须调用函数DeleteDC释放内存设备环境。 2. 位图的操作过程 定义一个位图句柄 HBITMAP hBm; 加载或创建 LoadBitMap加载位图并获得位图的句柄 hBm=LoadBitMap(hinstance,lpszname); CreateCompatibleBitmap创建位图 hBm=CreateCompatibleBitmap(hdc,nWidth,nHeight); 应用程序在响应消息WM_CREATE处理中,获取内存设备环境,完成加载或创建。 Hdcmem = CreateCompatibleDC(hdc); 2. 位图的操作过程(续) 选入内存设备环境 SelectObject(hdcmem,hBm); 输出—— 函数BitBlt将位图从内存设备环境拷贝到设备环境中。 BooL BitBlt ( HDC hdcDest, //目的设备环境句柄 int Xdest,int Ydest, //目的设备显示位图的基点 int Width,int nHeitght,//用于显示位图区域的高和宽 HDC hdcScr, //源设备环境句柄 int XScr,int Yscr, //源设备中位图的左上角坐标 DWORD dwRop //位图显示方式 ) 3. 位图操作实例 【例2】调用一幅图片,显示在用户窗口区。 §3.3. 对话框资源及其应用 1.对话框及其功能 对话框是一种弹出式窗口,直接交互的工具。 模式对话框非模式对话框 模式对话框——关闭对话框前,不允许切换到其他窗口。 非模式对话框——允许切换到其他窗口。 对话框资源通常有如下功能: 发送消息,如警告或提示消息; 接收输入,如用户输入的消息; 提供消息,如常见的“关于”对话框。 2. 模式对话框的编程方法 模式对话框的编程包括下列操作: 定义对话框资源; 显示对话框; 构造对话框消息; 关闭对话框处理函数。 3. 模态对话框应用实例 【例3】含有标题栏、系统菜单、简要信息及一个按钮控件的对话框 4. 非模态对话框的编程方法 非模式对话框与模态对话框的编程较类似,但略有差别,包括下列操作: 定
显示全部
相似文档