Windows应用程序设计学时:总学时54;理论36;实验18 学分:3适用对象:信息管理与信息系统、计算机科学与技术、软件工程专业先修课程:《C++程序设计》考核方式:本课程采用期末考核与平时成绩相结合的方式进行成绩评定,平时成绩占40%,期末考核成绩占60%。
平时成绩包括作业、实验报告与上课表现,期末考核为闭卷笔试方式。
一、课程的性质与任务《Windows应用程序设计》是为计算机科学与信息工程系各专业开设的一门专业基础课。
该课程以面向对象程序开发理论为基础,具有较强的理论性、实践性和实用性。
该课程的主要任务是讲授利用MFC进行Windows应用程序设计的基本原理和方法,并向学生灌输框架编程的核心思想,从而为今后开发实用性较强的软件系统打下坚实基础。
二、教学目的与基本要求本课程的目的是使学生深刻理解框架编程的思想,学会MFC的常用类的用法,并能够开发出一般功能的Windows应用程序,进一步提高学生实际编程和用程序解决问题的能力。
教学中要求学生掌握Windows应用程序的基础概念、术语;理解Windows应用程序框架的封装原理;深刻理解VC提供的“文档/视图”结构框架;掌握MFC类库提供的常用类在窗口中绘制图形;熟练掌握鼠标、键盘消息处理的方法;熟练掌握资源的使用方法;掌握MFC的文件处理机制;熟练掌握对话框及控件的编程方法;了解应用程序中进程与线程的管理方法;学会用MFC设计数据库应用程序。
理论教学部分理论课学时:36使用教材及主要参考书:1、使用教材:任哲等编著,《MFC Windows应用程序设计》,清华大学出版社,2004年2、主要参考书:候俊杰,《深入浅出MFC》第二版,华中科技大学出版社,2001年陈志泊等编著,《Visual C++ 6.0程序设计》,中国铁道出版社,2005年一、学时分配章节课程内容学时1 Windows应用程序基础知识 22 Windows应用程序的类封装 23 MFC应用程序框架 24 图形 25 MFC的通用类 26 Windows应用程序界面的设计 27 鼠标和键盘 28 资源 49 MFC的文件处理机制 210 控件 411 对话框 412 进程与线程的管理 416 用MFC设计数据库应用程序 4合计36二、教学中应注意的问题基于MFC的应用程序设计实践性较强,因此该课程的教学要注意理论联系实际,注意课堂上的实例教学。
为实现较好的教学效果,本课程采用多媒体授课。
三、教学内容第一章 Windows应用程序基础知识1、基本内容Windows应用程序的基本概念:界面、句柄、数据类型、Windows应用程序与API函数、消息与消息循环;Windows应用程序的结构:主函数、窗口函数、主函数与窗口函数之间的关系;用C函数封装Windows程序。
2、教学基本要求了解用C实现Windows应用程序的方法;掌握什么是应用程序,Windows应用程序的几个基本概念:API函数、句柄、Windows应用程序的数据类型、消息和消息循环,Windows 应用程序的最基本结构。
3、教学重点难点重点:关于Windows应用程序的一些基本概念,Windows应用程序的结构;难点:Windows应用程序的结构。
第二章 Windows应用程序的类封装1、基本内容应用程序主函数的C++类封装(窗体类、应用程序类、主函数封装后的程序);派生类的应用(应用程序类的派生类,窗体类的派生类);窗口函数的封装——消息处理函数的简单封装;消息映射的声明和定义。
2、教学基本要求理解主函数的封装方法和窗口函数的封装方法,应用程序派生类和窗体派生类的应用;掌握消息映射的声明和定义。
3、教学重点难点重点:主函数的封装,窗口函数的封装,消息函数的声明和定义;难点:主函数的封装,窗口函数的封装。
第三章 MFC应用程序框架1、基本内容早期应用程序框架及其MFC类;应用程序的文档/视图结构及其框架类(文档类CDocument,视图类CView,框架窗口类CFrameWnd,文档模板类CDocTemplate,应用程序类CWinApp)的继承关系,功能和主要函数;基于框架编程,程序员的主要工作;对象的动态创建。
2、教学基本要求了解早期的应用程序框架;掌握应用程序的文档/视图结构,对象的动态创建方法。
3、教学重点难点重点:应用程序的文档/视图结构,基于框架编程,程序员的主要工作;难点:应用程序的文档/视图结构,对象的动态创建。
第四章图形1、基本内容GDI和设备描述环境的概念;CDC类功能及成员的用法;用CPen类绘制线条;用CBrush 类绘制区域;绘图模式的使用;文本设置和CFont类;CDC的派生类(CPaintDC类,CClientDC 类,CMetaFileDC类)的用法。
2、教学基本要求了解绘图模式的使用方法,CDC类的派生类(CClientDC类,CMetaFileDC类)的用法;理解设备描述环境;掌握用CDC类的函数绘图的方法。
3、教学重点难点重点:用CDC类的函数在应用程序窗口中绘图的方法。
第五章 MFC的通用类1、基本内容CPoint类、CRect类、CString类、CSize类的功能及成员用法;群体数据类的含义及CArray类的用法;数据在文档/视图结构程序中的位置。
2、教学基本要求理解数据在文档/视图结构程序中的位置;掌握CPoint类、CRect类、CString类、CSize 类和CArray类的用法。
3、教学重点难点重点:CPoint类、CRect类、CString类、CSize类的用法,群体数据类(CArray)的使用;难点:群体数据类(CArray)的使用。
第六章 Windows应用程序界面的设计1、基本内容Windows应用程序的界面:SDI界面,MDI界面,基于对话框的界面;SDI界面窗口的样式:在MFC AppWizard中确定窗口样式,在函数PreCreateWindow中修改窗口的样式,可拆分为小窗口的SDI界面;解决拆分窗口的同步更新问题:拆分窗口的同步更新功能,提高拆分窗口更新效率的方法;创建带有滚动条的窗口。
2、教学基本要求了解MDI应用程序框架;掌握设置SDI应用程序界面的方法,创建可拆分窗口应用程序的方法,创建带有滚动条窗口的应用程序的方法。
3、教学重点难点重点:设置SDI应用程序界面的方法;难点:解决可拆分窗口的同步更新问题。
第七章鼠标和键盘1、基本内容处理鼠标消息:客户区鼠标消息,非客户区鼠标消息,鼠标消息的捕获;处理键盘消息:按键的虚拟码,一般按键消息,系统按键消息;应用程序窗口的焦点。
2、教学基本要求理解应用程序窗口的焦点;掌握处理用户区鼠标消息的方法及处理键盘消息的方法。
3、教学重点难点鼠标消息响应函数的实现和键盘消息响应函数的实现。
第八章资源1、基本内容资源和资源文件:资源脚本文件的功能,资源头文件的功能;菜单资源:菜单资源的描述文件,用菜单编辑器编辑菜单,菜单选项的动态修改;快捷键:定义、编辑快捷键表,快捷键的资源描述代码;图标:制作、使用图标的方法;位图:定义、使用位图资源的方法。
2、教学基本要求了解各种资源描述代码的一般写法;掌握资源脚本文件和资源头文件的功能,菜单资源、快捷键资源、图标资源、位图资源的设置方法。
3、教学重点难点重点:菜单资源和快捷键资源的设置,菜单命令的消息响应函数的编写;难点:菜单选项的动态修改,菜单命令的消息响应函数的编写。
第九章 MFC的文件处理机制1、基本内容永久性对象与序列化:序列化的基本概念,永久性对象的基本概念,Serialize函数的用法;实例说明对象序列化的一般方法;CFile类。
2、教学基本要求了解CFile类;理解永久性对象和序列化机制;掌握序列化的具体方法。
3、教学重点难点重点:永久性对象,序列化,对象序列化的方法;难点:对象序列化的方法。
第十章控件1、基本内容标准控件(静态文本控件,按钮控件,编辑控件)的使用;通用控件(进度条控件,微调器控件,图像列表控件,列表视图控件)的使用;控件的背景颜色。
2、教学基本要求了解通用控件的创建方法,消息响应函数的编写方法,控件背景颜色的设置;掌握标准控件在窗口中创建的方法,及其产生的消息的响应函数的编写。
3、教学重点难点重点:标准函数的用法;难点:通用控件的用法。
第十一章对话框1、基本内容对话框模板资源描述文件;自定义对话框的创建;对话框的数据交换和数据检验;以对话框为主界面的应用程序的编写;MFC预置的通用对话框(文件对话框,字体选择对话框)的用法;非模态对话框的创建;带有属性页对话框的创建。
2、教学基本要求了解对话框模板资源描述文件,属性页对话框的创建方法;理解对话框的数据交换和数据检验;掌握自定义对话框的创建,以对话框为主界面的应用程序的开发,MFC预置的通用对话框,非模态对话框的创建。
3、教学重点难点重点:自定义对话框的创建,以对话框为主界面的应用程序的开发,对话框的数据交换和数据校验;难点:非模态对话框的创建。
第十二章进程与线程的管理1、基本内容进程、线程及其优先权;工作线程和用户界面线程的创建;线程同步:线程同步的基本概念,各种同步对象(事件、界段、互斥体、信号计数器)的用法;线程通信:利用全局变量进行通信的方法,用自定义的消息进行通信的方法。
2、教学基本要求理解进程、线程的概念,线程的同步和线程的通信的基本方法;掌握工作线程和用户界面线程的创建。
3、教学重点难点重点:线程的概念;线程的创建;线程的同步;难点:各种线程同步对象的使用。
第十六章用MFC设计数据库应用程序1、基本内容数据库系统及数据库应用程序;ODBC的基本构成;配置ODBC数据源;MFC的ODBC 类;ODBC应用程序实例;使用DAO设计数据库应用程序。
2、教学基本要求了解DAO设计应用程序的方法;掌握MFC的ODBC类、ODBC应用程序编写,ODBC 数据源的配置。
3、教学重点难点ODBC应用程序的编写。
实验教学部分实验课学时:18实验指导书:任哲等编著,《MFC Windows应用程序设计》,清华大学出版社,2004年一、实验目的与基本要求本实验课配合理论教学,通过自己动手编程进一步学习,掌握和运用学过的基本理论。
学生必须完成的基本要求:课前预习实验,思考程序实现方法;课后提交调试成功的程序,并完成实验报告。
二、实验考核方式及办法实验考核采取上机操作、实验报告评判的综合考核方式,上机操作和实验报告得分作为该门课程平时成绩的一部分。
三、实验项目一览表序号实验项目名称实验类型实验要求适用专业学时1 用C实现一个最简单的Windows应用程序验证性必做信息、软件、计算机 22 利用框架创建MFC应用程序验证性必做信息、软件、计算机 23 在窗口中绘制图形设计性必做信息、软件、计算机 24 SDI应用程序的界面设计验证性必做信息、软件、计算机 25 编写响应鼠标和键盘消息的应用程序设计性必做信息、软件、计算机 26 编写带有菜单、快捷键的应用程序设计性必做信息、软件、计算机 27 创建带有对话框的应用程序设计性必做信息、软件、计算机 28 创建简单的数据库应用程序设计性必做信息、软件、计算机 4合计18 四、实验项目的具体内容实验一用C实现一个最简单的Windows应用程序1、本次实验的目的和要求熟悉在Visual C++6.0中创建Win32 Application工程;学会使用Visual C++ 6.0提供的帮助文档――MSDN。