visualC课件第3章.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3 章 Windows编程基础 河北经贸大学信息技术学院 2008年12月 教学目标 了解Windows消息系统和消息队列管理; 熟悉Win32 API应用程序的两个基本组成部分; 掌握MFC程序的启动和执行流程; 掌握应用程序框架中各个主要类的作用; 掌握MFC消息处理机制和自定义消息的编程过程。 案例介绍 案例3.1“求解一元二次方程”为一个Win32 API应用程序,使大家熟悉Win32 API应用程序的基本组成部分,了解和掌握Windows消息系统。 案例3.2“鼠标、键盘、用户自定义消息”是一个MFC应用程序,通过添加视图类数据成员及其相应的鼠标消息响应函数,从而实现鼠标移动和按下时显示在文本屏幕上的位置;通过添加相应的键盘消息响应函数,从而实现字符输入;通过定义用户消息和添加自定义消息处理函数,从而实现当用户将光标上移时,发出用户自定义消息,弹出消息对话框。如此逐步深入地使大家熟练掌握MFC消息处理机制和自定义消息的编程过程。。 项目演示 案例3.1“求解一元二次方程” 案例3.2“鼠标、键盘、用户自定义消息” 本章主要内容 3.1 事件驱动与Windows消息系统 3.2 Windows窗口 3.3 MFC简介 3.4 阅 读 材 料 3.1 事件驱动与Windows消息系统 事件驱动程序设计 Windows消息 Windows消息系统 事件驱动的程序模型 Windows消息 Windows消息概述 从应用程序的角度来看,消息是关于所发生的事件的通知,这些事件可能需要一个特定的动作,如按键盘上的键或移动、单击鼠标等操作,也可以是改变窗口大小或选择一个菜单命令等。 消息来源 (1) 输入消息 (2) 控制消息 (3) 系统消息 (4) 用户消息 Windows消息系统 1 消息队列 2. 消息驱动模型 3. 句柄 4. 消息的格式 5. 创建消息循环 消息驱动模型 句柄的含义 (1) 句柄是一个4字节的整数,Windows利用它标识应用程序创建和使用的资源,包括应用程序实例、窗口、菜单、控件、内存、外设、文件以及与图形相关的画笔、刷子等。 (2) 句柄是Windows内部表资源数据存储的内存索引值,Windows利用它可以访问表中的信息。通常,在程序中要访问某个资源时,需要提供该资源的句柄,因此,句柄可理解为是内存的索引值。 (3) 在Windows平台下,不仅可以运行多个程序,还可以对同一个程序多次加载。每加载一次,Windows会创建一个运行的备份,即实例。同时,系统为每个实例分配一个唯一的句柄,该句柄称为实例句柄 创建消息循环 MSG msg; While (GetMessage(msg,NULL, 0,0)) { TranslateMessage(msg); DispatchMessage(msg); }  消息循环的处理过程 3.2 Windows窗口 Windows的窗口 对于一个应用程序来说,窗口是屏幕上应用程序能够直接控制的矩形区域,应用程序能够创建并控制主窗口的一切。 一个Windows窗口的基本组成有:边框、标题栏、控制图标、菜单栏、最大化和最小化按钮、滚动条、用户区等组件。 定义窗口类的结构 typedef struct _WNDCLASS { UINT style; WNDPROC lpfnWndProc; int cbClsExtra; int cbWndExtra; HANDLE hInstance; HICON hIcon; HCURSOR hCursor; HBRUSH hbrBackground; LPCTSTR lpszMenuName; LPCTSTR lpszClassName; }WNDCLASS; 填写WNDCLASS结构 WNDCLASS wndclass; wndclass.style =CS_HREDRAW │CS_VERDRAW; wndclass.lpfnWndProc =WndProc; //窗口函数指针 wndclass.cbClsExtra =0; wndclass.cbWndExtra =0; wndclass.hInstance =hInstance; wndclass.hIcon =Loadicon(NULL,IDI_APPLICATION); wndclass.hCursor =LoadCursor(NULL,IDC_ARROW); wndcla

文档评论(0)

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

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

1亿VIP精品文档

相关文档