网站大量收购独家精品文档,联系QQ:2885784924

windows编程技术第12章-Windows中的资源.pptVIP

  1. 1、本文档共27页,可阅读全部内容。
  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文档。上传文档
查看更多
第12章 Windows中的资源 资源是Windows应用程序用户界面的重要组成部分,菜单、快捷键、图标、光标、对话框和字符串等都是不同的资源类型。资源的使用极大地方便了Windows应用程序的界面设计。 资源是数据,在程序运行是通过调用API函数装入内存,也可以随时从内存中释放 资源和资源脚本文件 菜单和快捷键资源 图标、光标和字符串资源 对话框 12.1.2 资源和资源脚本文件 资源也是一种数据,他们在资源脚本文件RC(文本文件,以.RC为文件扩展名)中定义了应用程序所需的数据,即菜单、对话框、图标等资源数据。例如: Windows应用程序生成过程 关于资源的生成 12.2 图标资源 图标、光标(游标)本质上都是位图,只不过它们都被限制了一定的尺寸,分别被用在不同的地方。字符串也是一种资源类型,它给程序提供了另外一种输出文本字符串的方法。 内建图标 Stop IDI_HAND ? IDI_QUESTION ! IDI_EXCLAMATION * IDI_ASTERISK 12.2.2 图标应用的基本方法 Windows 2000应用程序支持三种不同的图标尺寸:256色(48X48)、32色(32X32)和16色(16X16)图标。在应用程序最小化时,小图标显示在应用程序窗口的左上角;大图标用于桌面图标或大图标试图中。三种图标都使用同一个标识符或者名称,系统直到把不同的尺寸的图标用在何处。步骤: 在资源脚本文件中添加: IDI_MYICON ICON DISCARDABLE ”iconl.ico” 在主程序中加入: 常用的方法 WNDCLASS wndclass; wndclass.hIcon = LoadIcon(hInstance,MAKEINTRESOURCE(IDI_MYICON); 其他方法:函数LoadImage也可以将图标资源装载到应用程序的窗口类,并且功能更强。 wndclass.hIcon = LoadImage (hInstance, MAKEINSTRESOURCE( IDI_MYICON), IMAGE_CURSOR, 32, 32, LR_DEFAULTCOLOR) ; 函数SetClassLong非常有用,它可以在程序执行期间,动态地更改窗口类指定的图标、光标、菜单甚至窗口过程等属性。 DWORD SetClassLong(HWND hWnd,int nIndex,LONG dwNewLong); 12.2.2 例题ICONDEMO ICONDEMO.C 涉及函数 DrawIcon(HDC hdc, int X, int Y, HICON hIcon) LoadIcon(hInstance, MAKEINTRESOURCE( IDI_ICON ) ); 12.2.3 大图表、小图标的应用 ICONDEMO.C 涉及函数 DrawIcon(HDC hdc, int X, int Y, HICON hIcon) LoadIcon(hInstance, MAKEINTRESOURCE( IDI_ICON ) ); cxIcon = GetSystemMetrics(SM_CXICON); //取得图标的尺寸 cyIcon = GetSystemMetrics(SM_CYICON); //取得图标的尺寸 大图标(32X32)会自动转换成小图标(16X16) 一般地讲,Studio中建立一个32X32的大图标,大图标将自动在文件夹中显示,如果在标题栏中,则自动会把大图标缩成小图标(16X16)显示。 为什么还要编辑一个小图标: 由于大图标在自动转换成小图标,某些复杂的图标会失真,因此最好的办法是在建立一个小图标。 12.3 使用自定义的光标 系统提供了一些预定义的鼠标光标。标识符为IDC_ARROW,IDC_MOVE,IDC_WAIT或IDC_CROSS等。 在资源脚本文件中,自定义光标的描述如下: IDC_MYCURSOR CURSOR DISCARDABLE “cursor1.cur” ? 自定义的光标资源保存在文件(如cursor1.cur)中,在定义窗口类时,可以把自定义的光标设置为窗口类默认的光标。 wndclass.hCursor = LoadCursor(hInstance, MAKEINTRESOURCE (IDC_MYCURSOR) ); 特别是在鼠标消息WM_MOUSEMOVE的处理期间,这个函数非常有用。 case WM_MOUSEMOVE: hCursor = LoadCursor (hInst, MAKEINTRESOURCE( IDC_MYCURSOR ) ); SetCursor(hCursor); 12.3.2 用SetClassLong设置窗口

文档评论(0)

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

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

1亿VIP精品文档

相关文档