03 windows 资源管理.docVIP

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
03 windows 资源管理

第三章 WINDOWS 资源 大多数Windows程序都包含一个定制的图标,Windows将该图标显示在应用程序窗口标题栏的左上角。当程序被列在“开始”菜单中,或者被显示在屏幕底部的任务栏中,或者被列在“Windows资源管理器”中,或者作为快捷方式显示在桌面上时,Windows也显示该程序的图标。有些程序——诸如 Windows Paint一类的重要的图形绘制工具——也使用用户化的鼠标光标来表示程序的不同操作。许多Windows程序还使用菜单和对话框。   图标、光标、菜单和对话框都是相互关联的,它们都是Windows的资源类型。资源即数据,它们被存储在程序的.EXE文件中,但是它们并非驻留在程序的数据区域中。也就是说,资源不能通过程序源代码中定义的变量直接访问,Windows提供函数直接或间接地把它们加载到内存中以备使用。我们已经遇到了两个这样的函数,即 LoadIcon和 LoadCursor,它们出现在示例程序中定义窗口类结构的赋值语句中。它们从Windows中加载二进制图标和光标图像,并返回该图标或光标的句柄。在本章,我们从创建自己定制的图标开始,这些图标从该程序自己的.EXE文件中加载。资源包括:  图标;  光标;  字符串;  定制资源;  菜单;  键盘加速键;  对话框;  位图。   使用资源的好处之一在于程序的许多组件能够连编进程序的.EXE文件中。如果没有资源这一概念,例如图标图像的二进制文件可能会驻留在单独的文件中,.EXE会把它读入内存中使用。或者图标不得不在程序中以字节数组的形式定义(这将不会看到实际的图标图像)。作为资源,图标存储在开发者计算机上的单独的可编辑文件中,但在编译过程中被连编进.EXE文件中。   将资源添加到程序中需要 Visual C++ Developer Studio的一些附加功能。对于图标来说,可以使用“Image Editor”(也称为Graphics Editor”)来绘制图标的图像。该图像被保存在扩展名为.ico的图标文件中。 Developer Studio还生成一个资源描述文件(扩展名为.RC的文件,有时也称作资源定义文件),它列出了程序的所有资源和一个让程序引用资源的头文件(RESOURCE.H)。   因此,您可以看到这些新文件是如何组织到一起的,让我们以创建名为ICONDEMO的新项目开始。像往常一样,在Deveoper Studio中从File菜单中选择New,依次选择Projects   选项卡和 Win32 Application。在Project Name域中键人 ICONDEMO,然后单击 OK。 现在.让我们像通常那样创建 C源代码文件。从 File 菜单中选择 New.选择 Files 选项卡,并单击 C++ Source Files在 File Name域中键人 ICONDEMO.C.然后单击OK。此时,Developer Studio就创建了一个空的ICONDEMO.C文件, 键入程序。 /*------------------------------------------ ICONDEMO.C -- Icon Demonstration Program ------------------------------------------*/ #include windows.h #include resource.h LRESULT CALLBACK WndProc (HWND, UINT, WPARAM, LPARAM) ; int WINAPI WinMain (HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow) {   TCHAR szAppName[] = TEXT (IconDemo) ;   HWND hwnd ;   MSG msg ;   WNDCLASS wndclass ;   wndclass.style = CS_HREDRAW | CS_VREDRAW ;   wndclass.lpfnWndProc = WndProc ;   wndclass.cbClsExtra = 0 ;   wndclass.cbWndExtra = 0 ;   wndclass.hInstance = hInstance ;   wndclass.hIcon = LoadIcon (hInstance,   MAKEINTRESOURCE (IDI_ICON)) ;   wndclass.hCursor = LoadCursor (NULL, IDC_ARROW) ;   wndclass.hbrBackground=Get

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档