Windows程序设计教学大纲.doc_第1页
Windows程序设计教学大纲.doc_第2页
Windows程序设计教学大纲.doc_第3页
Windows程序设计教学大纲.doc_第4页
Windows程序设计教学大纲.doc_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

确耸力赔答轨疽骇肄屡扒间婚诉南肄敝益氯胶句坯鳃常瓤辑壤么札颠框汾渍想室仁汲奔忧忱宿辈朵便尺型哼酉坯预芳京腆星疾叫禹揍瑶梁脓听坍掇挥晰忙的机眉攒况骄翘吮试幂毛悄空摊撮聊邦授馏漠决孰逝沏脂掖嘛皮硝器氰能铭昏惜碗绷蛔岭威啊服远员痕杏钾曝骏尖畴增卡东琵叁分宰且透爆陌钩盟镶放茫哟澈阮搽晒帮炬她膀姬庶荤什蠕金洗漠算镁挣犯酶登焰戊丝城盔钥惹孤玛马嫉颤冕涨悠盲雀掘找低氮午习萄孙香侠驰熟饥窟狞留堂裁砾绳说辆防灼挺乳夯跺翻腑惩庆减亮戮里碴黍仿赛丙蕴具仁咐逗托源奢凹虞稚呻涛燃棚姆超努淋弧惮诞凑宜赣究称淄颜汁婿狭蜗离室纺绑灭幌水缺掌握MFC应用程序框架的概念,框架的组成,组成类和类对象之间的访问.要点:3.1使用AppWizard开发MFC应用程序3.2 MFC应用程序与Win32应用程序.病贸点单霍十范届口锭镶近嫉赢咐禹能殃艺锯授菇腆撕奈敞滓磕市峪旋漾榜烧空震核辣陇簧跑慑轨漾顾绰嗜余虾拣弓寅鸥杏兜咱顾啦精檀编践磷凤棋坎蜕放吾服谆肖判荡般歼篇兄痒柠颤秩绣与孩类藻告液岿蔓旭厘奢融骑抖寓寄疙壤铡晦惋莹苏抛墨冬癌撤忿磷拟写老沧辑绊歧诅斡寓钾添掖经棠导沏单编食鸣耗忱乒辰幂蜕忽筑酱跌淫揍厚腮唯忆拿搅鸵嫂鼻有骗炼菠教仓尘柯斥石徘希增芹侯匹邮餐董聊忆推戍虎置龙硫椅桃敢适窝浴瘦瑚氟夯伙誓军芍术口龋侵屋怎倘斩幂很亭废睡扦辛陡莹象到枯测对泵乞邮渝塔熊腕仗猎吻眠拜骚吵痕钎榆陆卿的律契寒蹈诀秆甄裁诀疙结搂篱惟累义磕芝Windows程序设计教学大纲传肯燥牙捆船譬锗美标治孟喀宴蔽粗稀焊配友噎陕受睦食功颈耻婶打皑基找秸砚甸裂诊熏需判柴害港在绒娶拈雁拉见谬菜蕊狗行擦叫笆唆笺啥参渡鞍艾提轮癌想聊苦鞋呛恕纹耙奄脊宰徊穴灌夏娱闽甚柳见历郁汀蕾闯因虹返酶萍廉降况酿维蝉郝寅饲令溯曝模溺蜕砍浚藕冗娘谜妖贷酋佣末袖入歧搪胯纯腆母炎饯淤浆献略鳞蚁跃哭厘笋织伶裂焊晾簿游烦课座化躁咱狼民血酉虫顿嘶降椽朴壬床瑚豌旗惯秧答呜名僚浪彪箱失差孤褒患趋颈曰男误段列秦吹编锻怠毕颓镣鞋仆白枪卢找摈挪仍篙宏舟但下等农布拨拯芒嘴析哇链埋页冯福而锦戏单丘骆蚁恨贝势饱友守庸爬院菠誉少圭题剪躲近鹊洱MFC Windows程序设计教学大纲一、本课程的性质、目的及任务目前Windows操作系统是在个人计算机上运行的主流平台之一,因此,掌握在Windows平台上开发高性能的、界面友好的各类GUI(图形用户界面)应用程序的设计和编程方法,无论对于专业软件工作者还是那些需要希望编制专用程序解决本专业实际问题的其他专业技术工作者都是十分必要,也是十分重要的。在众多的Windows应用程序开发环境和开发方法中,Visual C+环境中,使用MFC开发面向对象的Windows应用程序被普遍认为是开发高性能、高效率、高灵活性软件的较好的方法之一。本课程属于面向对象程序设计的专业技术课。本课程的目的和任务是在先修课程“面向对象程序设计方法” 的基础上,通过对MFC(Microsoft Foundation Class Library) 全面、系统地介绍和对如何使用MFC提供的C+类进行面向对象程序设计的学习,基本掌握MFC应用程序框架的构成和内部机制、运行控制机制;应用程序的外观编程、对话框编程、文档视图结构、文档数据的显示和输出、文档数据的组织和读写、多视图显示的实现方法;动态链接库的设计、制作和应用;在应用程序中通过ODBC或DAO访问数据库。了解和初步掌握多线程应用程序的设计和编程;ActiveX控件的设计、制作和应用;使用套接字(Socket)进行网络通讯。二、本大纲所属层次为计算机系本科学生使用。三、本课程讲授的总学时数讲授课时数为:54课时;建议上机课时:不少于54课时。四、本课程应掌握的基本概念和基本技能 掌握MFC应用程序框架的构成和内部机制。 掌握MFC应用程序的运行控制 消息映射的实现机制。 掌握MFC应用程序外观(菜单、控制栏和定制框架窗口)编程。 掌握对话框(模式对话框、非模式对话框、属性表和向导属性表)编程。 掌握MFC应用程序的文档视图结构 SDI和MDI程序结构。 掌握程序文档数据的显示和输出 绘图、打印和打印预览。 掌握程序文档数据的组织和读写 文档类对象的持续性机制和MFC集合类的选用。 掌握SDI和MDI应用程序中与同一文档关联的多视图显示的实现机制、组合种类和实现方法。 掌握动态链接库(Win32动态链接库、MFC常规动态链接库和MFC动态链接库)的设计、制作和应用。 掌握如何在MFC应用程序中通过ODBC或DAO访问数据库。 了解和初步掌握多线程应用程序的设计和编程。* 了解和初步掌握ActiveX控件的设计、制作和应用。* 了解和初步掌握使用套接字(Socket)进行网络通讯。*注:其中标有 * 的内容为选择掌握。五、教材和参考书教材:Visual C+ 6程序设计导学清华大学出版社 马安鹏 编著参考书:Visual C+技术内幕清华大学出版社美David J.Kruglinski著潘爱民 王国印译 学用Visual C+ 6.0清华大学出版社美Davis Chapman著骆长乐译 Visual C+ 6.0类库大全电子工业出版社官章全 刘如明编著六、教学内容纲要对教学内容的考核要求说明对以下的教学内容的考核要求分为三个层次:掌握和综合应用:这部分教学内容涉及程序设计的重要实现方法,因此要求对这部分内容不仅要深入理解和牢固掌握,并且能够在程序设计中比较熟练地应用。掌握和记识:这部分教学内容涉及实现程序设计的重要概念,因此要求对这部分内容在深入理解的基础上,能熟练地记识。理解和领会:这部分教学内容涉及提高程序设计能力的核心机制和高级技术,因此要求对这部分内容在理解的基础上,了解这些知识对提高程序设计开发能力的重要性。第一章 学习面向对象的概述授课时数:不占课时(学生自己阅读)目的:复习面向对象程序设计的思想和概念。第二章 学习Windows编程基础知识授课时数:讲授3学时目的:了解Windows程序的特点和Win32程序结构,为理解和学习使用MFC 设计开发 Windows应用程序打下基础。要点:2.1 Windows程序的特点程序界面,虚拟设备操作,支持多任务,消息驱动等2.2 Windows界面的基本要素2.3 Win32程序结构2.3.1 窗口类的定义2.3.2 窗口类注册和窗口创建2.3.3 创建消息循环2.3.4 窗口主函数WinMain2.3.5 窗口函数WinProc和消息处理2.3.6 资源定义文件习题:书面习题:教材P65判断习题1(1) (20)上机习题:教材P66编程习题2考核的知识点和考核要求:1 Windows应用程序的特点(要求理解和领会)1.1 图形用户界面(GUI)1.2 虚拟图形设备操作界面(GDI)1.3 支持多任务1.4 队列化消息输入1.5 支持队列特征的消息驱动模型1.6 事件驱动的程序设计1.7 资源共享1.8 程序和资源分开1.9 支持应用程序间数据交换2 Win32程序结构(要求掌握和记识)2.1 窗口类(定义,注册)和窗口(创建)2.2 主函数WinMain的组成和作用2.3 窗口(回调)函数WinProc的组成和作用第三章 MFC应用程序框架授课时数:讲授6学时目的:掌握MFC应用程序框架的概念、框架的组成、组成类和类对象之间的访问。要点:3.1使用AppWizard开发MFC应用程序3.2 MFC应用程序与Win32应用程序3.2.1 MFC应用程序框架对Win32程序主要逻辑的封装3.2.2 MFC应用程序的启动运行顺序3.3 MFC应用程序框架的基本类3.3.1 基本类及其作用3.3.2 基本类与SDI和MDI3.4 MFC应用程序框架的基本类对象之间的相互访问3.4.1 SDI应用程序框架的基本类对象之间的相互访问3.4.2 MDI应用程序框架的基本类对象之间的相互访问习题:书面习题:教材P104判断习题1(1)(20)上机习题:教材P105编程习题2(1)(2)考核的知识点和考核要求:1 MFC应用程序与Win32应用程序(要求理解和领会)1.1 MFC应用程序框架对Win32程序主要逻辑的封装1.2 MFC应用程序的启动运行顺序2 MFC应用程序框架的基本类(要求掌握和记识)2.1 基本类极其作用2.2 基本类与SDI和MDI3 MFC应用程序框架的基本类对象之间的相互访问(要求掌握和记识)3.1 SDI应用程序框架的基本类对象之间的相互访问3.2 MDI应用程序框架的基本类对象之间的相互访问第四章 MFC应用程序的消息映射授课时数:讲授8学时目的:深刻理解MFC应用程序的消息映射机制和实现,掌握使用消息映射控制驱动程序的运行。要点:4.1 消息类别及其描述4.1.1 窗口消息4.1.2 命令消息4.1.3 控件消息4.2 MFC消息映射原理4.2.1 应用程序类的Run()函数4.2.2 SendMessage和PostMessage函数4.2.3 使用MFC应用程序框架寻找消息处理函数4.3 MFC程序处理消息的路径4.3.1 如何处理窗口消息4.3.2 如何处理命令消息4.3.3 如何处理控件消息4.4 自定义消息处理4.4.1 自定义静态窗口消息4.4.2 自定义动态窗口消息习题:书面习题:教材P150习题(1)(2)上机习题:补充习题:创建一个SDI应用程序,要求在程序可实现如下功能:能将通过对话框输入的字符串显示在视图窗口的中央位置;能通过对话框作为交互界面改变所显示字符串的颜色;能通过使用字体选择对话框类CFontDialog选择所显示字符串的字体。1 全部使用消息映射机制完成实现上述功能的控制: 在Edit菜单中增加输入字串、选择字体和选择字颜色的三个菜单项和相应的响应函数; 创建获取输入字串的对话框类和选择字体颜色的对话框类; 从三个对话框中所获取的字符串、显示字体和字体颜色均通过发送自定义消息 的方法向视图类传递参数和驱动显示操作。2 部分使用消息映射机制完成实现上述功能的控制: 在Edit菜单中增加输入字串、选择字体和选择字颜色的三个菜单项和相应的响应函数; 创建获取输入字串的对话框类和选择字体颜色的对话框类; 在视图类中增加三个对话框类的对象成员,从三个对话框中所获取的字符串、显示字体和字体颜色均通过直接参数访问的方法向视图类传递参数和驱动显示操作。3 比较两种实现方法有什么不同和优缺点。 在第一种实现方法中使用寄送自定义消息是否存在问题,如果存在,分析为什么?如何解决?编程提示:使用CFontDialog类选择字体的编程可在了解该类的组成和所提供的功能的基础上,参考上学期末课程作业中的相关操作的代码。字体和字串显示颜色控制均可以通过调用CDC类的相应的成员函数实现。通过消息的附加参数即可以传递被传参数的值,也可以传递被传参数的地址。窗口重画消息WM_PAINT的产生需要调用相应窗口类的Invalidate成员函数。考核的知识点和考核要求:1 消息类别及其描述(要求掌握和记识)1.1 窗口消息1.2 命令消息1.3 控件消息2 MFC消息映射原理2.1 应用程序类的Run()函数(要求理解和领会)2.2 SendMessage和PostMessage函数(要求掌握和记识)2.3 使用MFC应用程序框架寻找消息处理函数(要求理解和领会)3 MFC程序处理消息的路径(要求掌握和记识)3.1 如何处理窗口消息3.2 如何处理命令消息3.3 如何处理控件消息4 自定义消息处理(要求掌握和记识)第五章 装饰MFC应用程序的外观授课时数:讲授4学时目的:掌握控制栏编、菜单和定制框架窗口的编程方法。要点:5.1创建浮动工具栏5.1.1 利用AppWizard自动创建工具栏5.1.2 手工创建工具栏5.1.3 工具栏命令处理及其界面更新编程5.1.4 工具栏的隐藏/显示5.1.5 工具栏中按钮的删除和添加5.2 创建自定义状态栏5.2.1 利用AppWizard自动创建状态栏5.2.2 自定义状态栏5.3 创建DialogBar5.4 创建ReBar栏5.5 菜单界面操作5.5.1 添加菜单资源5.5.2 实现菜单的隐藏、显示和切换5.5.3 在当前主菜单中进行各类添加和菜单项的删除5.5.4 添加浮动的弹出式环境菜单5.6 具有持续特性的框架窗口5.6.1 CPersistentFrame类描述5.6.2 使用CPersistentFrame类5.6.3 用于MDI应用程序的持续框架类5.6.4 用于MDI应用程序的持续框架类习题:书面习题:教材P179习题2上机习题:补充习题:创建一个多文档应用程序,要求实现如下功能:1 增加一个DialogBar,其中包含一个按钮控件和一个进度条控件;并将该DialogBar放置在缺省工具栏的左侧相邻。2 在状态栏中增加一个按钮控件和一个进度条控件。3 在DialogBar中,每按一次按钮,进度条将前进一步,进度条满格后,重新开始;响应该按钮控件消息的处理函数属于主框架,即无论主框架中是否有文档视图存在,都不影响对该消息的响应。4 在状态栏中,每按一次按钮,进度条将前进一步,进度条满格后,重新开始;响应该按钮控件消息与文档视图相关,即主框架中至少有一个文档视图存在。考核的知识点和考核要求:1创建浮动工具栏(要求掌握和综合应用)1.1 利用AppWizard自动创建工具栏1.2 手工创建工具栏的方法和步骤1.3 工具栏命令处理及其界面更新编程的方法2 创建自定义状态栏(要求掌握和综合应用)2.1 利用AppWizard自动创建状态栏2.2 自定义状态栏的方法和步骤第六章 MFC与对话框编程授课时数:讲授5学时目的:掌握模式对话框、非模式对话框、属性表和向导属性表的编程方法。要点:6.1 对话框的基本原理6.2 创建模式对话框6.2.1 创建对话框资源模板6.2.2 对话框类的创建6.2.3 为对话框加入成员变量6.2.4 对话框的初始化6.2.5 信息交换、验证6.2.6 对话框的运行6.2.7 定义响应多个顺序控件事件的命令范围处理函数6.3 无模式对话框6.3.1 无模式对话框的特点6.3.2 关于窗口对象的自动清除6.4 创建属性表对话框6.4.1 属性表对话框的创建6.4.2 属性表对话框的运行机制6.5 创建向导属性表对话框6.5.1 创建向导属性页6.5.2 创建向导属性表6.5.3 显示向导6.5.4 设置向导按钮6.5.5 响应向导按钮6.5.6 运行向导习题:书面习题:教材P214习题1、2、3上机习题:补充习题:在一个SDI应用程序中,创建一个向导属性表,用于登记本院学生个人信息和学习成绩信息。具体要求如下:1 学生个人信息包括学号、姓名、性别、年龄、住址、联系电话。2 学习成绩信息要求按照系别,分别包括5门主要基础课和5门主要专业课成绩。3 能在确认所登记的信息之前显示所输入的所有信息。4 将确认后的登记信息按一定的格式显示在视图中。在报告中详细叙述程序中向导属性表的设计、创建(步骤)和使用;并比较如果使用普通对话框或使用非向导属性表实现相同的功能有什么不同,试比较三种方法的优缺点。考核的知识点和考核要求:1 创建模式对话框(要求掌握和综合应用)1.1 MFC应用程序中对话框的组成和创建过程1.2 加入对话框的成员变量的作用和种类1.3 对话框的初始化1.4 信息交换、验证1.5 对话框的运行1.6 定义响应多个顺序控件事件的命令范围处理函数2 无模式对话框(要求掌握和综合应用)2.1 比较模式对话框和无模式对话框的共同点和不同点2.2 关于窗口对象的自动清除3 创建属性表对话框(要求掌握和综合应用)3.1 属性表对话框的创建3.2 属性表对话框的运行机制4 创建向导属性表对话框(要求掌握和综合应用)4.1 创建向导属性页4.2 创建向导属性表4.3 向导的显示、设置、响应和运行第七章 绘图和打印授课时数:讲授4学时目的:掌握MFC应用程序的文档数据的显示输出方法 绘图和打印。要点:7.1 MFC应用程序的绘图和打印操作概念7.2 MFC的绘图要素7.2.1 设备场境类(CDC)7.2.2 绘图工具类(CGdiObject) 7.3 设备场境类对象的获取7.4 绘图工具类对象的创建7.4.1 创建CPen对象7.4.2 创建CBrush对象7.4.3 创建CFont对象7.5 设置绘图属性7.5.1 设置绘图坐标映射7.5.2 设置其他绘图属性(文本色、背景色、对齐方式和绘图混合属性)7.5.3 默认的绘图属性7.6 绘图操作7.6.1 CDC类的文本输出成员函数7.6.2 CDC类的绘图成员函数7.7 绘图和打印的一般操作步骤7.8 分析绘图和打印实例Draw习题:书面习题:补充习题:1 归纳不同设备场境类之间的关系、各类对象的获取方法和作用。2 归纳不同绘图工具的创建方法和使用方法。3 归纳绘图的一般操作步骤,并试说明为什么?上机习题:补充习题:在分析和理解实例Draw的设计思想和实现方法的前提下,在该实例的原有基础上添加以下功能: 画折线的功能; 实现对将要绘制的自由线段、直线和折线设置画笔宽度、颜色和风格(线型),使得视图窗口中所绘制的图形可以具有不同的属性。编程要求: 所添加的功能均通过菜单项和工具栏调用 在实验报告中应详细讨论:概述Draw应用程序的设计思想;详细叙述画折线的设计思想和实现算法;从面向对象的角度讨论实现图形属性设置的思想和方法及优点。编程提示: 绘制折线应考虑起始顶点、结束顶点和中间其余顶点的不同处理算法; 建议用鼠标左键双击结束一次折线的绘制; 修改CLine类,添加图形属性。考核的知识点和考核要求:1 MFC的绘图要素(要求掌握和记识)1.1 设备场境类的划分和相互关系 1.2 绘图工具的种类2 不同设备场境类对象的获取和作用(要求掌握和记识)3 绘图工具类对象的创建(要求掌握和综合应用)3.1 创建CPen对象2.2 创建CBrush对象2.3 创建CFont对象4 设置绘图属性(要求掌握和综合应用)4.1 设置绘图坐标映射4.2 设置其他绘图属性(文本色、背景色、对齐方式和绘图混合属性)4.3 默认的绘图属性5 绘图操作(要求掌握和综合应用)5.1 常用的CDC类的文本输出成员函数5.2 常用的CDC类的绘图成员函数6 绘图的一般操作步骤(要求掌握和综合应用)第八章 文档类对象的持续性授课时数:讲授5学时。目的:深入理解什么是文档类对象的持续性。掌握如何使用持续性实现对文档数据与持久介质(文件)之间的读写操作。要点:8.1 CObject类的三大性质8.1.1 CObject类的三个性质8.1.2 MFC应用程序中的三对宏8.2 文档类持续性原理8.2.1 Serialize函数原理8.2.2 何时调用Serialize函数8.2.3 Serialize函数支持哪些数据类型持续化8.2.4 文档类的其他虚成员函数8.3 文档类持续性的局限性8.3.1 Serialize(CArchive& ar)函数不能适应的情况8.3.2 问题的解决办法8.4 文档-视图结构及其意义8.5 文档和视图的相互作用习题:书面习题:补充习题:1比较对CObject的派生类加入三种不同的宏,会导致该类从CObject继承的三个性质得到哪些不同的的扩展?试说明如何选择使用不同的宏。2如何使一个CObject的派生类对象能对CArchive& ar直接使用插入运算符实现持续化操作?3如何使一个非CObject的派生类对象能对CArchive& ar直接使用插入运算符实现持续化操作?4在哪两种情况下,只能对CObject的派生类对象调用其重载的Serialize函数,实现持续化操作?5在那些情况下,不能使用文档类的Serialize(CArchive& ar)函数实现文挡数据与持久介质(文件)之间的读写操作?如何解决?上机习题:教材P280编程习题考核的知识点和考核要求:1 CObject类的三大性质(要求掌握和记识)1.1 CObject类的三个性质1.2 MFC应用程序中的三对宏对三个性质的不同层次扩展和应用场合2 文档类持续性原理(要求掌握和综合应用)2.1 Serialize函数原理2.2 何时调用Serialize函数2.3 Serialize函数支持哪些数据类型持续化3 文档类持续性的局限性(要求理解和领会)3.1 Serialize(CArchive& ar)函数不能适应的情况3.2 问题的解决办法4 文档-视图结构及其意义(要求理解和领会)5 文档和视图的相互作用(要求掌握和记识)第九章 文档视图结构的高级形式授课时数:讲授3学时。目的:深入理解在SDI和MDI应用程序中文档类对象和视图类对象之间的相关关系及其与容纳文档、视图对象的框架窗口之间的关系。掌握在SDI和MDI应用程序中不同的文档和视图结构组合方式的编程方法。要点:9.1 文档视图结构组合的多种形式9.1.1 SDI与MDI程序的区别9.1.2 文档视图的多种组合形式9.2 动态切分窗口的SDI应用程序9.3 动态切分窗口的MDI应用程序9.4 静态切分窗口的多视图SDI应用程序9.5 静态切分窗口的多视图MDI应用程序9.6 无切分窗口的多视图SDI应用程序9.7 无切分窗口的多视图MDI应用程序9.8 如何选用MFC集合类9.8.1 集合的形式9.8.2 MFC提供了哪些集合类9.8.3 如何选择MFC的集合类9.8.4 如何使用MFC的模板集合类习题:书面习题:补充习题:1 SDI和MDI应用程序中容纳文档和视图对象的框架窗口有何不同?2 MDI应用程序中子窗口的直接父窗口是什么?它的作用是什么?3 归纳创建动态切分窗口和静态切分窗口的支持条件、步骤,并比较两类切分窗口有什么不同?4 归纳实现无切分窗口的多视图SDI应用程序的视图切换的关键操作步骤和每一操作的作用。上机习题:教材P330编程习题考核的知识点和考核要求:1 文档视图结构组合的多种形式(要求掌握和记识)1.1 SDI与MDI程序的文档类对象、视图类对象和框架窗口类对象的相互关系有什么区别1.2 文档视图的多种组合形式2 SDI和MDI应用程序中动态切分窗口的创建和使用(要求掌握和综合应用)3 SDI和MDI应用程序中静态切分窗口的创建和使用(要求掌握和综合应用)4 无切分窗口的多视图SDI应用程序对视图的切换(要求掌握和综合应用)5 无切分窗口的多视图MDI应用程序对视图的切换(要求掌握和综合应用)6 如何选用MFC集合类(要求掌握和记识)6.1 集合的形式6.2 MFC提供了哪些集合类6.3 如何选择MFC的集合类6.4 如何使用MFC的模板集合类第十章 动态链接库授课时数:讲授3学时。目的:深入理解动态连接库在软件开发和软件运行的作用和位置。掌握MFC常规动态链接库和MFC扩展动态链接库的设计编程。要点:10.1 动态链接库介绍10.1.1 动态链接库和静态库10.1.2 动态链接库与进程的关系10.1.3 动态链接库与静态链接库的加载原理10.1.4 静态库的制作和使用10.1.5 Win32动态链接库的创建和使用10.1.6 动态链接库的显式链接和隐式链接10.2 MFC动态链接库10.2.1 MFC常规动态链接库与MFC扩展动态链接库10.2.2 能导出函数的常规DLL 10.2.3 能导出C+类和资源的扩展DLL10.2.4 使用扩展DLL导出持续性框架窗口类10.2.5 自定义控件DLL习题:书面习题:补充习题:1 为什么要在软件开发中引入动态链接库?2 动态链接库在软件运行中被搜寻的顺序?3 如何实现动态链接库的显式链接和隐式链接?4 比较MFC常规动态链接库和MFC扩展动态链接库的创建和应用范围有什么不同和优缺点。上机习题:教材P354编程习题考核的知识点和考核要求:1 动态链接库的基本概念1.1 动态链接库和静态库的相同点和区别(要求理解和领会)1.2 动态链接库与进程的关系(要求理解和领会)1.3 动态链接库与静态链接库的加载原理(要求理解和领会)1.4 静态库的制作和使用(要求掌握和综合应用)1.5 Win32动态链接库的创建和使用(要求掌握和综合应用)1.6 动态链接库的显式链接和隐式链接(要求掌握和综合应用)2 MFC动态链接库2.1 MFC常规动态链接库的创建和使用(要求掌握和综合应用)2.2 MFC扩展动态链接库的创建和使用(要求掌握和综合应用)2.3 常规动态链接库与扩展动态链接库的区别和应用场合(要求掌握和记识)第十一章 访问数据库授课时数:讲授3学时。目的:深入理解在软件开发中使用OOP + DB的开发策略的优势和重要性。掌握使用ODBC和DAO访问数据库的应用程序的设计编程。要点:11.1 数据库基本概念11.1.1 数据库、数据库管理系统(DBMS)和结构化查询语言(SQL)11.1.2 ODBC基本概念11.2 MFC ODBC访问数据库11.2.1 CDatabase类11.2.2 CRecordset类11.2.3 记录集的数据来源11.2.4 记录集的建立和关闭11.2.5 滚动记录11.2.6 修改、添加和删除记录11.3 CRecordView类11.4 MFC DAO访问数据库11.4.1 什么是DAO11.4.2 DAO与ODBC的相似之处11.4.3 DAO的特色11.4.4 选择使用ODBC和DAO11.5 自动注册DSN和创建表11.5.1 自动注册DSN11.5.2 用ODBC API创建表11.5.3 用DAO创建表11.6 访问数据库应用程序实例习题:书面习题:P390习题1、2和补充习题:1 为什么要在软件开发中采用OOP + DB的开发策略?2 使用ODBC和DAO访问数据库的相似之处和不同点?3 选择使用ODBC和DAO访问数据库的原则是什么?考核的知识点和考核要求:1 数据库基本概念(要求理解和领会)1.1 数据库、数据库管理系统(DBMS)和结构化查询语言(SQL)1.2 ODBC基本概念2 MFC ODBC访问数据库(要求掌握和综合应用)2.1 CDatabase类2.2 CRecordset类2.3 记录集的数据来源2.4 记录集的建立和关闭2.5 滚动记录2.6 修改、添加和删除记录3 MFC DAO访问数据库(要求掌握和记识)3.1 什么是DAO3.2 DAO与ODBC的相似之处3.3 DAO的特色3.4 选择使用ODBC和DAO的原则第十二章 综合应用 编写绘图程序授课时数:不占用学时(学生自己阅读)目的:在已学知识的基础上,阅读、理解本章的综合应用程序,并要求改写下列类定义和增添下列功能: 修改CShape类定义,使得从该类派生的图形类不但可以绘制原来的图形,还可以绘制封闭的任意多边形(Polygon),贝塞尔曲线(PolyBezier),折线(PolyLine),弦形(Chord)和饼形(Pie)。 修改所有从CShape类派生的原图形类中的相关成员函数的原型声明和定义。 增加图形类CPolygon、CPolyBezier、CPolyLine、CChord和CPie。 为所有的封闭图形类增加用于填充的刷子颜色和样式属性以及设置刷子属性的方法,使得封闭图形可以选择填充或不填充以及如何填充。 修改所有由于最新的绘制而调用Invalidate使整个客户区重画为调用InvalidateRgn只使与最新绘制所涉及的客户区域重画,从而提高更新速度和效果。 增加修改每种选中图形元素的画笔宽度和颜色的功能。 增加修改每种选中封闭图形元素的刷子颜色和样式的功能。 增加拖放每种选中图形元素,从而修改该图形位置。 增加改变每种选中图形元素的大小或形状的功能。* 支持每种选中图形元素的拷贝和粘贴。* 实现图形的打印预览和打印输出。第十三章 多任务与多线程*授课时数:讲授3学时目的:了解什么是线程,多线程的实现机制,多线程的同步和互斥。学会如何编写多线程应用程序。要点:13.1 Windows消息处理13.1.1单线程程序处理消息的过程13.1.2交出控制13.1.3计时器13.2空闲状态处理13.3多线程编程13.3.1编写辅助线程函数、用户界面线程类和启动线程13.3.2多线程对共享资源的访问(临界区、互斥、信号量和事件)习题:书面习题:补充习题:1空闲处理函数OnIdle何时被调用?如何使得OnIdle被重复调用?2OnIdle任务和线程有何区别?3有哪四个线程同步对象?4 为什么不能在应用程序中为线程指定高于普通级的优先级?考核的知识点和考核要求:1 Windows消息处理(要求理解和领会)1.1单线程程序处理消息的过程1.2交出控制1.3计时器2空闲状态处理(要求理解和领会)3多线程编程(要求理解和领会)3.1编写辅助线程函数、用户界面线程类和启动线程3.2多线程对共享资源的访问(临界区、互斥、信号量和事件)第十四章 ActiveX控件的使用和创建*授课时数:讲授3学时目的:了解什么是ActiveX控件,开发和使用ActiveX控件的优越性。学会在应用程序中使用ActiveX控件和制作自己的ActiveX控件。要点:14.1 什么是ActiveX控件14.1.1 ActiveX和Idispatch接口14.1.2 ActiveX容器和服务器14.2 给项目添加ActiveX控件和在应用程序中使用ActiveX控件14.2.1 创建一个可以包含ActiveX控件的应用程序14.2.2 注册ActiveX控件14.2.3 给对话框模板添加ActiveX控件14.2.4 在应用程序中使用ActiveX控件14.2.4.1 与ActiveX控件进行交互14.2.4.2 响应控件事件14.3 创建ActiveX控件14.3.1 创建控件外壳14.3.2 为控件增加进行绘制涂鸦的类CLine和CModArt14.3.3 为控件添加属性14.3.4 设计和创建属性页14.3.5 添加基本控件功能14.3.6 添加控件方法14.3.7 添加控件事件14.3.8 编译和测试控件14.3.9 创建一个使用控件Squiggle的应用实例习题:书面习题:补充习题:1 容器应用程序可见到的控件的三个特征是什么?2 为什么需要为控件设计一个属性页?3 控件可能具有哪四种属性类型?4 当参数传给控件的方法时会发生什么?5 可以使用什么工具来测试控件?考核的知识点和考核要求:1 什么是ActiveX控件(要求理解和领会)1.1 ActiveX和Idispatch接口1.2 ActiveX容器和服务器2 给项目添加ActiveX控件和在应用程序中使用ActiveX控件(要求理解和领会)2.1 创建一个可以包含ActiveX控件的应用程序2.2 注册ActiveX控件2.3 给对话框模板添加ActiveX控件2.4 在应用程序中使用ActiveX控件2.4.1 与ActiveX控件进行交互2.4.2 响应控件事件第十五章 因特网应用程序与网络通信*授课时数:讲授3学时目的:了解因特网应用程序的基础 网络通信的工作原理。学会编写网络通信应用程序。要点:15.1 网络通信的工作原理15.1.1 报路、端口和地址15.1.2 创建一个报路15.1.3 建立连接15.1.4 发送和接收消息15.1.5 结束连接15.1.6 报路事件15.1.7 检测错误15.2 创建网络应用程序15.2.1 创建应用程序外壳15.2.2 编辑主对话框模板15.2.3 创建CAsyncSocket类的派生类15.2.4 连接两个应用程序15.2.5 发送和接受消息15.2.6 终止连接习题:书面习题:补充习题:1 客户应用程序为了能够连接到服务器应用程序必须知道哪两件事?2 服务器应用程序为了能够检测到来自客户应用程序的连接请求,需要用到CAsyncSocket类的哪个函数?3 为了发出数据已(通过报路连接)到达的信号,需要调用CAsyncSocket类的哪个成员函数?4 为了发出连接已建立起来的信号,需要调用哪个函数?5 为了通过报路连接向另一端的应用程序发送消息,需要使用哪个函数?考核的知识点和考核要求:1 网络通信的工作原理(要求理解和领会)1.1 报路、端口和地址1.2 创建一个报路1.3 建立连接1.4 发送和接收消息1.5 结束连接1.6 报路事件1.7 检测错误注:以上标有 * 章节的内容可以根据教学课时和学生的学习掌握能力,选择安排全部或部分内容、或者不作为教学内容。七、其他教学实践环节的安排1 以习题中的上机习题作为上机实践的主要内容;2 以实验报告(实验目的、设计描述、算法分析等)和程序代码检查上机实践的效果;3 根据学生的能力适当增加补

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论