- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课程设计讲座150624重点讲义
课程设计讲义:
本课程设计的目的为:
1、巩固基本的C语言知识。
2、学习利用C语言作为工具进行外延性拓展。
3、巩固调试技能。
4、学习利用微软帮助系统
整个课程设计包括学习,设计,报告,答辩等四个部分。
拓展一:Windows初步
第一节 安装帮助:
使用C语言进行Windows开发,必然使用到WindowsSDK。Windows SDK指Windows开发人员工具包,是为使用C语言开发Windows程序所提供的工具集。里面提供的工具异常全面丰富,很少有人能全部了解,在开发Windows应用程序时,应同时使用MSDN,即俗称Windows开发帮助。安装好MSDN后,在程序设计过程中,不记得函数调用方式时,可以在VC中将光标移动到函数名上按下F1帮助键,即可以获得这个函数的所有信息,非常方便;在遇到难解的编译出错信息时,也可在输出栏出错的行上按下F1获得详细的错误说明。由于MSDN有1.2G,无需全部安装,在课程设计阶段,只需要安装全文索引、VC++文档和Platform SDK即可,在开始安装时可选择自定义安装。
图 1MSDN的自定义安装
图 2选择索引,VC,下面还有SDK
第二节:简单的Windows程序。
纯粹的Windows编程代码量较大,但是不少代码系统已经帮我们生成,所以初学者快速掌握windows编程的方法就是利用现成的框架,找到需要修改的地方,然后实现设计意图。
类似C语言的学习,Windows编程也应为课程设计建立一个工作空间:
图 3创建空白工作区
然后向空白工作区中添加我们第一个Windows程序:
图 4第一步,创建合适的应用程序
图 5选择典型的HelloWorld程序
直接按下Finish可创建第一个程序。不用去看具体代码,直接编译执行,选择调试执行,可以看到这个程序执行的结果。(注:程序开发阶段应使用调试执行观察程序行为)
图 6框架程序
程序运行的结果是一个窗口,可以放大缩小或者调整大小,还具有菜单。这些内容在将来都可以由程序员来自己定义。
打开代码WinStep1.cpp,首先观察到得就是一个特殊的main函数——WinMain
程序片段 1主函数和消息循环
类似C语言下的main, WinMain是程序的入口,具有固定的格式。函数前段有两个LoadString函数调用。其意义是从资源中加载一些字符串。所谓资源,初步的理解可以是这样的:程序员打算发布(编写程序后销售)的应用程序中有一些字符串常量,对话框表现等素材,随着发布地点不同(例如在美国销售和中国销售),所使用的语言提示,对话框布局等均有所不同,但是程序核心的逻辑是不变的。将这些素材统一提取出来专门放在叫做资源文件的文件中,这样若是变更发布地点,只需要将这些资源文件交给专门的翻译和美工去完成,不必涉及到复杂的程序逻辑。这样将程序逻辑与资源分开,使应用程序适应性和灵活性更强了。
第一个LoadString是加载窗口的标题。在图4中就是WinStep1。第二个是窗口的类别名称。关于窗口类,因为我们实际上一行代码都没有改变,所以WinStep实现的功能很有限,但是在将来完善后会逐渐变得功能强大些,从代码而言,是同一个工程的源代码不停地修改,从系统角度来看,也许多个可执行的程序都在磁盘上,为了区分这些程序,可以分类叫做张三的窗口V1.0,张三的窗口V1.1,为了区分不同目的的程序,还可以叫做“斗地主V2.1 by 张三”和“电脑播音员V1.1 by李四”这样的名字。这些由程序员定义的,用来区别计算机中不同窗口目的的字符串,就是窗口类。尝试用下面代码替换掉这两行程序:
程序片段 2小小地修改
初学者对WinMain中其他代码先不要动。下面观察第二个重要函数WndProc。
WndProc是消息处理函数,当用户动动鼠标或者按下键盘,或者切换窗口等任何由Windows系统预定义的动作,或者是定时器,系统电力不足,有聊天网络消息到来等由程序定义的事件,都会调用这个函数。可以想象这个函数有多么地“忙”。所以任何写在这个函数里的代码都要求非常地“快”。一旦这里某段代码“慢”了,甚至“死循环”了,那么后来的消息就会堆积起来无法处理,从用户角度看,就是这个程序停止响应了。为明确起见,将程序中的WndProc改名为MainWndProc,意即处理主窗口的消息的程序。在修改时,请注意原始代码中有三处WndProc都需要修改——文件最前的位置函数声明,在MyRegisterClass函数调用,以及WndProc函数定义。
前文提到,WndProc主要功能就是处理各种各样的消息,显然考虑这么多大量的消息对程序员是个沉重的负担,幸好Windows本身已经提供了默认的消息处理代码,程序员只需要处理好自己关心的消息就可以了。下面是消息处理函数的模板。
程序片段
文档评论(0)