Programming Windows

随到随学随时按照自主进度学习
Join course 1Person Favorate
Share

Course description

课程中文名称:Windows程序设计
课程英文名称:Windows Programming
课程代码:0806283002
课程性质:必修课
总学时:64   学分数:3.5  开课学期:第四学期
授课对象:数字媒体技术专业
先修课程:C++程序设计
主要内容:Windows程序设计主要讲授Windows API和Microsoft MFC可视化程序设计的基本原理和方法,是数字媒体技术专业学生学习网络游戏程序设计必须掌握的一门基础课程,也是计算机应用专业的学生掌握面向对象的可视化Windows程序设计技能的一门重要的课程之一。通过本课程的学习,要求学生掌握Windows程序设计中MFC程序框架构建方法和基本原理,掌握API编程的基本方法,掌握Windows程序设计中消息映射以及路由机制,掌握线程管理、动态链接库程序设计的基本方法,为后续课程提供必要的基础知识。
教科书:[1]任哲. MFC Windows应用程序设计.清华大学出版社.2004年
参考书:[1]管建和,夏军宝. Windows程序设计.人民邮电出版社.2004年

Syllabus

课程英文名称:Windows Programming
课程代码:0806283002
总学时数:64  其中 讲课学时:48 实验学时:16  总学分数:3.5
课程性质:专业必选课
授课对象:数字媒体技术专业

一、课程教学目的与任务
Windows程序设计主要讲授Windows API和Microsoft MFC可视化程序设计的基本原理和方法,是数字媒体技术专业学生学习网络游戏程序设计必须掌握的一门重要的基础课程。
通过本课程的学习,要求学生掌握Windows程序设计中MFC程序框架构建方法和基本原理,掌握API编程的基本方法,掌握Windows程序设计中消息映射以及路由机制,掌握线程管理、动态链接库程序设计的基本方法,为后续课程提供必要的基础知识。
二、课程教学的总体要求
1、重点掌握Windows消息映射和路由机制,MFC程序框架的构建方法和原理,进程与线程管理,对话框程序设计,文档/视结构,静态链接库和动态链接库程序设计方法。
2、掌握图形,文件处理机制,资源管理,鼠标和键盘,控件编程的基本方法。
3、了解ActiveX应用,组件对象模型以及进行数据库程序设计的基本方法。
三、课程教学内容及基本要求
第一章  Windows应用程序基础知识 (2学时)
教学目的和要求: 掌握Windows应用程序的基本概念和Windows应用程序的结构。
教学重点:Windows应用程序的结构。
教学难点:Windows应用程序的结构。
教学方法:教师讲课为主。
教学主要内容:
第一节 Windows应用程序的基本概念
第二节 Windows应用程序的结构
第三节 用C函数封装Windows程序
第二章  Windows应用程序的类封装(2学时)
教学目的和要求: 掌握应用程序主函数的C++封装、窗口函数的封装(消息封装)。
教学重点:掌握应用程序主函数的C++封装、窗口函数的封装(消息封装)。
教学难点:掌握应用程序主函数的C++封装、窗口函数的封装(消息封装)。
教学方法:教师讲课为主。
教学主要内容:
第一节 应用程序主函数的C++类封装
第二节 派生类的应用
第三节 窗口函数的封装—消息映射
第三章  MFC应用程序框架(4学时)
教学目的和要求: 掌握MFC程序框架,文档/视图结构及其框架类,对象的动态创建。
教学重点:MFC程序框架,文档/视图结构及其框架类。
教学难点:MFC程序框架,文档/视图结构及其框架类。
教学方法:教师讲课为主,学生验证为辅。
教学主要内容:
第一节 早期的应用程序框架及其MFC类
第二节 最简单的MFC程序实例
第三节 应用程序的文档/视图结构及其框架类
第四节 对象的动态创建
第四章  图形(2学时)
教学目的和要求: 掌握GDI概念以及使用CDC类及其派生类进行简单的绘图。
教学重点:GDI和设备描述环境、CDC类。
教学难点:CDC类。
教学方法:教师讲课为主,学生验证为辅。
教学主要内容:
第一节 GDI和设备描述环境
第二节 CDC类
第三节 CPen类
第四节 CBrush类
第五节 绘图模式
第六节 文本和CFont类
第七节 CDC的其他派生类
第五章  MFC的通用类(2学时)
教学目的和要求: 掌握MFC中常用的通用类使用方法。
教学重点:简单数据类和群体数据类。
教学难点:群体数据类。
教学方法:教师讲解为主。
教学主要内容:
第一节 简单数据类
第二节 群体数据类
第三节 数据在文档/视图结构程序中的位置
第六章  Windows应用程序界面的设计(4学时)
教学目的和要求: 掌握SDI和MDI界面程序的设计方法。
教学重点:SDI和MDI界面程序的设计方法。
教学难点:SDI和MDI界面程序的设计方法。
教学方法:教师讲课为主,学生课堂验证为辅。
教学主要内容:
第一节 SDI和MDI界面
第二节 SDI界面窗口的样式
第三节 拆分窗口的同步更新
第四节 创建带有滚动条的窗口
第七章  鼠标和键盘(4学时)
教学目的和要求:掌握鼠标和键盘消息处理及映射的方法。
教学重点:处理鼠标消息和处理键盘消息。
教学难点:处理鼠标消息和处理键盘消息。
教学方法:教师讲课为主,学生课堂验证为辅。
教学主要内容:
第一节 处理鼠标消息
第二节 处理键盘消息
第三节 应用程序窗口的焦点
第八章  资源(4学时)
教学目的和要求: 掌握VC++程序设计中资源管理的基本方法和原理。
教学重点:菜单、位图资源的管理,资源简本文件。
教学难点:菜单、位图资源的管理,资源简本文件。
教学方法:教师讲课为主,学生课堂验证为辅。
教学主要内容:
第一节 资源和资源文件
第二节 菜单
第三节 快捷键
第四节 图标
第五节 位图
第九章  MFC的文件处理机制(2学时)
教学目的和要求: 掌握MFC的文件处理机制,学会永久性对象与序列化和对象序列化等操作。
教学重点:对象序列化、CFile类。
教学难点:对象序列化、CFile类。
教学方法:教师讲课为主,学生课堂验证为辅。
教学主要内容:
第一节 永久性对象与序列化
第二节 对象的序列化
第三节 CFile类
第十章  控件(4学时)
教学目的和要求: 掌握控件的使用方法。
教学重点:控件的使用方法。
教学难点:控件的使用方法。
教学方法:教师讲课为主,学生课堂验证为辅。
教学主要内容:
第一节 标准控件及其使用
第二节 通用控件
第三节 控件的背景颜色
第十一章  对话框(4学时)
教学目的和要求: 掌握对话框程序设计的基本方法。
教学重点:对话框的数据交换和数据检验、非模态对话框。
教学难点:对话框的数据交换和数据检验、非模态对话框。
教学方法:教师讲课为主,学生课堂验证为辅。
教学主要内容:
第一节 对话框模版资源描述文件
第二节 自定义对话框的创建
第三节 对话框的数据交换和数据检验
第四节 以对话框为主界面的应用程序
第五节 MFC预置的通用对话框
第六节 非模态对话框
第七节 属性页
第十二章  进程与线程的管理(4学时)
教学目的和要求: 掌握进程与线程的概念,线程的创建、管理以及同步与通信。
教学重点:线程同步,线程通信。
教学难点:线程同步和线程通信。
教学方法:教师讲课为主,学生课堂验证为辅。
教学主要内容:
第一节 进程、线程及其优先权
第二节 工作线程和用户界面线程
第三节 线程同步
第四节 线程通信
第十三章  动态链接库(2学时)
教学目的和要求: 掌握动态链接库的创建和使用方法。
教学重点:动态链接库创建和使用。
教学难点:动态链接库创建和使用。
教学方法:教师讲课为主,学生课堂验证为辅。
教学主要内容:
第一节 动态链接库概述
第二节 动态链接库的创建
第三节 动态链接库的使用
第十四章  组件对象模型基础(2学时)
教学目的和要求: 掌握组件对象模型创建和使用方法。
教学重点:组件对象模型的使用。
教学难点:组件对象模型的使用,进程外组件。
教学方法:教师讲课为主,学生课堂验证为辅。
教学主要内容:
第一节 组件对象模型
第二节 在客户程序中使用组件
第三节 组件的包含与聚合
第四节 进程外组件
第五节 使用ATL设计组件
第十五章  用MFC开发ActiveX应用(2学时)
教学目的和要求: 掌握ActiveX的使用和采用MFC设计ActiveX控件。
教学重点:使用ActiveX控件,采用MFC设计ActiveX控件。
教学难点:采用MFC设计ActiveX控件。
教学方法:教师讲课为主,学生课堂验证为辅。
教学主要内容:
第一节 ActiveX技术概述
第二节 用MFC设计ActiveX容器
第三节 用MFC设计ActiveX服务器
第四节 用MFC设计ActiveX自动化应用程序
第五节 用MFC设计ActiveX控件
第十六章  用MFC设计数据库应用程序(4学时)
教学目的和要求: 了解和掌握使用MFC进行数据库程序设计的基本方法。
教学重点:ODBC的基本原理,使用ODBC和ADO进行数据库应用程序设计。
教学难点:使用ODBC和DAO进行数据库应用程序设计。
教学方法:教师讲课为主,学生课堂验证为辅。
教学主要内容:
第一节 数据库系统及数据库应用程序
第二节 ODBC的基本构成
第三节 配置ODBC数据源
第四节 MFC的ODBC类
第五节 ODBC应用程序实例
第六节 使用DAO设计数据库应用程序简介
四、先修课程及后续课程:
先修课程:C++程序设计
后续课程:
五、课程考核方式:
本课程的学业总成绩中期末笔试占70%,期中考试及平时成绩占30%。
六、建议使用的教科书及参考书
教科书:
[1]任哲.MFC Windows应用程序设计.[北京]清华大学出版社.2004
参考书:
[1]管建和,夏军宝.Windows程序设计.[北京]人民邮电出版社.2004
七、实验教学内容及基本要求
1、实验名称:Windows程序设计实验
2、实验学时:16学时
3、实验项目类型:验证型
4、实验目的:通过实验使学生熟悉Windows程序设计,尤其是MFC应用程序设计的方法,掌握线程、动态链接库以及ActiveX等高级的Windows程序设计方法。具备使用MFC程序设计方法解决实际问题的能力。
5、实验要求:根据问题提出相应的算法,编写相应的实现程序,经过调试得出结果,提交实验报告。
6、实验内容:
1)采用API方法实现Windows应用程序框架(必做)
2)应用程序框架的MFC封装(必做)
3)图形编程以及鼠标和键盘(必做)
4)资源管理和文件处理机制(必做)
5)对话框程序设计(必做)
6)线程和动态链接库(必做)
7)ActiveX程序设计(必做)
8)数据库程序设计(必做)
7、考核方式:实验报告50%,综合实验成绩50%


编写人:金小峰        2006年8月6日
审核人:崔荣一        2006年8月10日

Assessment standard

课件浏览100%,客观练习0%,主观练习0%,课内讨论0%。
课程内容不断迭代,成绩以当时的课程内容为准,一旦合格,可以申请证书。申请证书后,以结课处理,成绩不再改动