- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * 第2章 Windows程序设计基础 ——勿在浮沙筑高楼,打好基础是关键 教学内容 §2.1 Windows编程基础 §2.2 MFC程序设计基础 §2.3 应用程序框架 §2.4 综合实例——创建宾馆管理系统的框架 §2.5 小结 思考与练习 §2.1 Windows编程基础 2.1.1 Windows编程基本概念 1、窗口 窗口是Windows应用程序中一个非常重要的元素。一个Windows应用程序至少要有一个窗口,称为主窗口。 从用户的角度讲,窗口是屏幕上与一个应用程序相对应的矩形区域,是用户与应用程序之间的图形化的接口。每当用户打开一个应用程序时,应用程序就会创建并显示一个窗口;当用户操作窗口中的对象时,窗口就会做出反映;关闭主窗口时就会终止应用程序的运行;通过选择应用程序窗口,就会选择与窗口对应的应用程序。 从程序员的角度讲,窗口是Windows应用程序的基本操作单元,是系统管理应用程序的基本单位,是应用程序与用户之间交互的接口。应用程序的运行过程就是窗口内部、窗口与窗口之间、窗口与系统之间进行数据处理和数据交换的过程。因此,编写应用程序就是要创建一个或多个窗口,管理多个窗口之间的数据处理与交换。 §2.1 Windows编程基础 2.1.1 Windows编程基本概念 窗口的特性是由一个WNDCLASS结构体进行定义的。WNDCLASS定义如下: typedef struct tagWNDCLASS { UINT style; //窗口风格 WNDPROC lpfnWndProc; //指向窗口处理函数的函数指针 int cbClsExtra; //窗口结构中的预留字节数 int cbWndExtra; //为其它创建窗口预留字节数 HINSTANCE hInstance; //注册该窗口类的实例句柄 HICON hIcon; //代表该窗口类的图标句柄 HCURSOR hCursor; // 该窗口客户区鼠标光标句柄 HBRUSH hbrBackGround; //该窗口背景颜色句柄 LPCSTR lpszMenuName; //指向窗口菜单名的字符指针 LPCSTR lpszClassName; //指向窗口名的字符指针 } WNDCLASS; §2.1 Windows编程基础 2.1.1 Windows编程基本概念 2、句柄 在Windows程序中,每产生一个资源(如图标、光标、窗口、应用程序的实例等),操作系统都要将它们放入相应的内存,并为这些内存指定一个唯一的标识号,这个标识号即该资源的句柄。 操作系统要管理和操作这些资源,都是通过句柄来找到对应的资源的,句柄是系统用来唯一标识某个Windows对象的符号。句柄的数据类型在winnt.h中说明如下: typedef void * HANDLE; 从物理上看句柄是一个泛型(无类型)指针,但它不是指向一个Windows对象的存储首地址,而是指向包含了使用该对象有关信息的一块内存单元。从逻辑上说它是一个代号,一个对象的代号。句柄所指向的内容是不能由句柄操作来改变的,只能由系统来改变。 §2.1 Windows编程基础 2.1.1 Windows编程基本概念 3、消息和消息队列 Windows程序设计是面向事件的。在Windows环境下,应用程序启动后,系统等待用户在图形用户界面内的输入选择,如鼠标按键、键盘按键、窗口被创建、关闭、改变大小、移动等,在Windows看来,这些都是事件。只要有事件发生,系统即产生特定的消息,驱动相应的处理函数进行处理,因此Windows 应用程序也称为事件驱动程序。 消息描述了事件的类别,包含了相关信息,Windows应用程序利用消息与系统及其它应用程序进行信息交换。 由于windows事件的发生是随机的,程序的执行先后顺序也无法预测,系统采用消息队列来存放事件发生的消息。每个Windows程序都有一个消息队列,该队列是一个先进先出的缓冲区,通常是一个某种变量类型的数组。 §2.1 Windows编程基础 2.1.1 Windows编程基本概念 3、消息和消息队列 在winuser.h中,消息结构的定义如下: typedef struct tagMSG { HWND hWnd; //指定消息发向的窗口句柄 UINT message; //标识消息的消息值 WPARAM wParam; //消息参数 LPARAM lParam; //消息参数 DWORD time; //消息进入队列的时间 POINT
您可能关注的文档
最近下载
- 新能源汽车整车控制系统检测与维修高职PPT完整全套教学课件.pptx VIP
- 人教版一年级数学上册《比大小》课件(共38张PPT).pptx VIP
- 血管活性药物静脉输注护理---团体标准解读.pptx VIP
- 2025年全国质量月培训讲座PPT课件.pptx VIP
- 自考《文学概论》第五章-抒情作品教学课件.ppt VIP
- 北师大版九年级数学上册全册教案教学设计.pdf VIP
- 恶心与呕吐腹泻.ppt VIP
- 2025年中国学生床上用品数据监测研究报告.docx
- 1.1 地球的自转和公转 课件-2024-2025学年中图版初中地理八年级上册.pptx VIP
- EduSoho系统功能说明书v7.2(1231).doc VIP
文档评论(0)