- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
windows程序设计-第七讲:资源.doc
资源 大多数Windows程序都包含一个的图标,Windows将该图标标在应用程序窗口的左上角。当程序被列在开始菜单中,被显示在屏幕底部的中,被列在Windows Explorer中,或者作为快捷方式显示在桌面上时,Windows也显示该程序的图标。有些程序也使用鼠标光标来表示程序的不同操作。还有许多Windows程序使用菜单和对话框。菜单、对话框加上滚动条,这是标准Windows。图标、光标、菜单和对话框都是相互关联的,它们全部是Windows的资源被储存不能从程序码中定义的变量直接存取Windows提供的API间接的将其加载到内存中,以备使用。我们已经遇到了两个这样的函数,即LoadIcon和LoadCursor,它们出现在范例程序,它们从Windows中加载二进制图标和光标映象,并传回该图标或光标的句柄。wndclass.hIcon = LoadIcon (hInstance, MAKEINTRESOURCE (IDI_ICON)) ; 为了在程序中通过标识符引用在资源描述文件中定义的资源,在程序的前部写上语句#include resource.h。 资源文件是用资源编译器RC.EXE编译的,如下图所示。 图一、资源的编译 下面我们先讨论加载资源的通用方法,然后再分别介绍各种标准资源: 查找和加载资源: 使用资源之前,应用程序必须将它们加载到内存中,FindResource和 FindResourceEx函数在模块中查找资源并返回指向这些二进制资源数据的句柄,FindResource通过类型和名称定位资源,而FindResourceEx通过类型、名称和语言定位资源。 LoadResource用FindResource返回的资源句柄将对应资源加载到内存中,在应用程序通过LoadResource加载某个资源之后,系统根据内存状况以及应用程序执行情况,会自动卸载或重新加载这个资源,因此应用程序在不需要某个资源时,不需要显式卸载。通过LoadResource加载的资源还需要调用LockResource等相关API才能使用,如果想马上使用标准资源,可以使用下列API: 函 数 功 用 FormatMessage 加载和格式化消息表项 LoadAccelerators 加在快捷键 LoadBitmap 加载位图 LoadCursor 加载光标 LoadIcon 加载图标 LoadImage 加载位图、光标、图标或增强媒体文件 LoadMenu 加载菜单 LoadString 加载字符串 在程序结束时,应用程序需要调用以下API来释放加速键、位图、光标、图标和菜单等相关资源所占内存,对于其它类型资源,系统会自动从内存中清除其所占内存。 资源 释放函数 加速键 DestroyAcceleratorTable 位图 DeleteObject 光标 DestroyCursor 图标 DestroyIcon 菜单 DestroyMenu 增加、删除、替换资源: 应用程序会经常增加、删除或替换可执行文件中的资源。有两种方法可以实现:第一种是编辑资源定义文件,再重新编译,然后将其加入到可执行文件中;第二种是将资源数据直接考被到可执行文件中。例如:要本地化一个英语应用程序为汉语应用程序,以便在大陆使用,必须替换英语对话框为汉语对话框,程序员可以利用对话框编辑器重新生成新的对话框,编译后加到可执行文件中。 如果已经存在一个二进制形式的对应汉语对话框,程序员可以直接将其考贝到可执行文件中:BeginUpdateResource创建和更新资源将要被替换的可执行文件句柄,UpdateResource用这个句柄增加、删除或替换可执行文件中的资源,EndUpdateResource关闭可执行文件句柄。 下面的例子演示了如何从一个可执行文件Hand.exe拷贝对话框资源到另一个可执行文件Foot.exe,步骤如下: 调用LoadLibrary加载文件Hand.exe 调用FindResource和LoadResource定位和加载对话框资源 调用LockResource获取指向对话框资源的指针 调用BeginUpdateResource打开一个指向Foot.exe的可更新句柄 调用UpdateResource,将对话框资源从 调用EndUpdateResource完成资源更新 HRSRC hResLoad; // handle to loaded resource HANDLE hExe; // handle to existing .EXE file HRSRC hRes; // handle/ptr. to res. info. in hExe HANDL
您可能关注的文档
最近下载
- 【手抄报】唯美中秋节手抄报电子小报模板(A4版附线稿可打印).pdf VIP
- 学校安保人员培训方案完整版.pptx VIP
- 中国国家标准 GB/T 38216.4-2024钢渣 全铁含量的测定 三氯化钛-重铬酸钾滴定法.pdf
- 配电第一种工作票填写说明.pdf VIP
- 巨大肩袖撕裂研究进展.pdf VIP
- 山水载道,文心千年---贬谪文人生命书写第三单元单元整合教学课件-2025-2026学年统编版九年级语文上册(共18张PPT).pptx VIP
- 《中国慢性便秘临床诊断与治疗规范(2024)》解读 2PPT课件.pptx VIP
- 封闭式基金投资策略设计与实证探讨.pdf VIP
- 巨大肩袖撕裂病例讨论.pdf VIP
- 江苏 2023年统计专业知识和实务真题模拟汇编(共906题).doc VIP
文档评论(0)