实验二_2010303449_毛翠_2010303451_张羚璐.docVIP

 实验二_2010303449_毛翠_2010303451_张羚璐.doc

  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文档。上传文档
查看更多
西北工业大学 《综合创作训练》20013年 2月 实验目的及要求 1.实验目的: 理解WindowsWindows进程及其创建的机制 理解Windows窗口概念; 掌握indows消息机制。学会使用VC++应用程序; ;PC机最低配置:2G Hz以上CPU;1G以上内存;1G自由硬盘空间; VC++6.0或者更高版本VC++; 3) .编译并运行程序后,出现如下效果: 对话框是否为窗口?此外还有那些界面元素是窗口? 答:1).对话框是窗口。对话框时Windows的一种特殊窗口。不能改变窗口大小,没有最大化、最小化按钮。一般包括标题栏、选项卡(标签)、文本框、列表框、命令按钮、单选按钮、复选按钮等。 2).窗口的元素包括:标题栏、菜单栏、Windows系统菜单、最小化按钮、最大化按钮、恢复按钮、关闭按钮、可改变大小的边框、窗口客户区、垂直滚动条和水平滚动条 4.2创建win32窗口程序 4.2.1 程序框架搭建 图 什么是句柄?句柄,是整个windows编程的基础。一个句柄是指使用的一个唯一的整数值,即一个四字节长的数值,来标志应用程序中的不同对象和同类对象中的不同的实例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。应用程序能够通过句柄访问相应的对象的信息,但是句柄不是一个指针,程序不能利用句柄来直接阅读文件中的信息。如果句柄不用在I/O文件中,它是毫无用处的。 句柄是windows用来标志应用程序中建立的或是使用的唯一整数,windows使用了大量的句柄来标志很多对象。 HINSTANCE hPrevInstance //本模块的实例句柄 HWND hwnd //窗口句柄 HDC hdc; //DC句柄 2.一个基本的win32窗口程序创建有哪几个步骤,请以本程序为例说明(要有相应代码截图)。 (1)注册窗口类(RegisterClassEx) (2)创建窗口 (3)在桌面显示窗口 (4)更新窗口客户区 (5)进入无限的消息获取和处理循环。首是获取消息(GetMessage),如果有消息到达,则将消息分配到回调函数处理(DispatchMessage),如果消息是WM_QUIT,则GetMessage函数返回False,整个消息循环结束。消息具体的处理是在MainWndProc函数中进行的。 (1)注册窗口 注册窗口类的API该函数就是RegisterClassEx,最后逇“Ex”是扩展的意思,因为他是Win16的RegisterClass函数的扩展。一个窗口类定义了窗口的一些主要性质,如:光标、图标背景色和负责处理消息的窗口函数等。这些属性定义在WNDCCLASSEX结构中。 指定窗口类大小和风格 指定窗口消息处理函数地址 把本程序的实例句柄(WinMain参数之一)传给成员 设置光标和图标 指定窗口重画客户区时使用的画刷 指定窗口了名称 注册窗口 (2)创建窗口 要创建窗口,用注册的窗口类的类名调用CreateWindowEx函数即可 (3)在桌面显示窗口 (4)刷新窗口客户区 (5)进入无限的消息循环 利用GetMessage函数可以从调用线程的消息队列中取出消息来填充MSG结构 一个WM——QUIT消息会促使GetMessage函数值返回0,从而结束消息循环。 DispatchMessage函数分发一个消息到对应窗口的窗口函数。 4.2.2 程序完善 简述Windows的消息处理机制(画图且配文字说明) 本程序中,MainWindowProc仅选用了WM_PAINT和WM_DESTROP两个消息进行处理 如上图所示,处理WM_PAINT消息时总是以调用BeginPaint函数开始。该函数的第一个参数是窗口句柄,第二个参数是指向PAINTSTRUCT结构的指针。调用了BeginPaint函数后,程序调用了TextOut函数。此函数用于在hdc指定的设备上显示文字。 WM_DESTROY是窗口函数必须处理的消息。当用户关闭窗口,而且出窗口已经响应了用户的请求正在关闭时,消息处理函数就会收到一个WM_DESTROY消息。当接收到这个消息的时候,说明窗口正在销毁。MainWndProc函数调用PostQuitMesage函数来响应此消息。 PostQuitMesage向程序的消息队列中插入一个WM_QUIT消息。若GetMessage函数从消息队列中取得的消息是WM_QUIT,他将返回0,从而促使WinMain函数离开消息循环,然后执行 此时,msg.wparam值传给PostQuitMesage函数的参数值。Return语句将使WinMain函数返回

文档评论(0)

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

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

1亿VIP精品文档

相关文档