内容简介
本书凝聚了编者多年来从事软件开发和教学实践的经验和体会,由两条主线贯穿全书: 一条主线以通俗易懂的语言介绍用Visual C++ 2019开发Windows应用程序所必需的应用理论; 另一条主线设计了丰富的实用程序,通过实践引导学生快速掌握Visual C++ 2019的开发方法和技巧,力求给Visual C++初学者开辟一条迅速切入并完整掌握Visual C++编程技术的捷径。全书共分13章括Visual C++ 2019开发环境,MFC应用程序概述,图形与文本,菜单、工具栏和状态栏,对话框,Windows常用控件,文档与视图,打印编程,动态链接库编程,多线程编程,数据库编程和多媒体编程等内容。此外,本书还精心设计了14个上机实验。 全书内容循序渐进,实例丰富,讲解清晰。书中针对每个知识点的简短实例有助于初学者仿效理解、把握问题的精髓,能够帮助读者快速建立对应用程序框架的整体认识。部分章后的应用实例能让读者学会怎样开发大型的Windows程序。 为了配合教学,除第13章外每章后面都提供了与教学要求一致的习题,并提供了的教学资源。本书可作为高等学校计算机及相关专业学习Windows程序设计和Visual C++程序设计的教材或参考书,也可作为Visual C++培训班的培训教材或其他读者的自学读本。
目录
目录第1章Visual C++ 2019开发环境1.1集成开发环境1.1.1Visual Studio的安装1.1.2Visual Studio的工作界面1.2项目模板与类向导1.2.1项目模板1.2.2类向导1.3项目与解决方案1.3.1解决方案1.3.2项目1.4集成开发环境的菜单栏1.4.1“文件”菜单1.4.2“编辑”菜单1.4.3“视图”菜单1.4.4“项目”菜单1.4.5“生成”菜单1.4.6“调试”菜单1.4.7“窗口”菜单1.4.8“帮助”菜单1.5集成开发环境的工具栏1.5.1标准工具栏1.5.2生成工具栏1.5.3导航条工具栏1.6资源与资源编辑器1.6.1资源和资源符号1.6.2资源编辑器习题第2章MFC应用程序概述2.1Windows应用程序概述2.1.1窗口2.1.2消息和事件2.1.3简单的Windows程序2.1.4Windows程序的特点2.2MFC应用程序框架2.2.1创建MFC应用程序框架2.2.2MFC应用程序框架结构类2.2.3MFC应用程序的分析2.2.4文档/视图结构2.3消息映射与消息处理2.3.1消息的类别及其描述2.3.2MFC消息映射机制2.3.3自定义消息处理2.4程序调试2.4.1查找源程序中的语法错误2.4.2调试器2.4.3跟踪调试程序2.4.4MFC调试宏2.4.5Dump()调试函数2.5应用实例2.5.1实例简介2.5.2创建过程习题第3章图形与文本3.1图形设备接口和设备环境3.1.1图形设备接口3.1.2设备环境3.1.3设备环境类3.1.4颜色的设置3.1.5获取设备环境3.1.6编程实例3.2GDI对象类3.3画笔和画刷的使用3.3.1使用库存对象3.3.2创建和使用自定义画笔3.3.3创建和使用自定义画刷3.4处理文本3.4.1设置文本的显示属3.4.2设置字体3.4.3格式化文本3.4.4常用的文本输出函数3.5位图3.5.1设备相关位图和设备无关位图3.5.2位图操作函数3.5.3位图的显示3.6应用实例3.6.1实例简介3.6.2创建过程习题第4章菜单、工具栏和状态栏4.1菜单4.1.1菜单的类型4.1.2编辑菜单4.1.3建立消息映射4.1.4菜单的有效控制4.1.5创建快捷菜单4.1.6创建动态菜单4.1.7创建基于对话框的菜单4.2工具栏4.2.1编辑工具栏4.2.2实现按能4.2.3自定义工具栏4.3状态栏4.3.1状态栏类的继承关系4.3.2状态栏类的成员函数4.3.3状态栏的r/>4.4应用实例4.4.1实例简介4.4.2创建过程习题第5章对话框5.1对话框概述5.1.1对话框的类型5.1.2对话框的CDialog类5.1.3对话框的组成5.2模态对话框5.2.1设计对话框模板资源5.2.2设计对话框类5.2.3运行对话框5.2.4对话框的数据交换和校验机制5.3非模态对话框5.3.1非模态对话框的特点5.3.2窗口对象的自动清除5.4属页对话框5.5通用对话框5.5.1CFileDialog类5.5.2CColorDialog类5.5.3CFontDialog类5.5.4CPrintDialog类和CPageSetupDialog类5.5.5CFindReplaceDialog类5.6应用实例5.6.1实例简介5.6.2创建过程习题第6章Windows常用控件6.1控件概述6.1.1控件的创建6.1.2控件的组织6.1.3控件的共有属6.1.4控件的访问6.2CStatic类控件6.2.1静态文本控件6.2.2图片控件6.3CEdit类控件6.3.1编辑框的风格6.3.2编辑框的基本r/>6.3.3编辑框的通知消息6.4CButton类控件6.4.1概述6.4.2按钮控件的基本r/>6.4.3按钮控件的通知消息6.4.4CBitmapButton类6.5CListBox类控件6.5.1列表框的风格6.5.2列表框的基本r/>6.5.3列表框的通知消息6.6CComboBox类控件6.6.1组合框的属6.6.2组合框的基本r/>6.6.3组合框的通知消息6.7CSpinButtonCtrl类控件6.7.1旋转按钮控件的常用风格6.7.2旋转按钮控件的基本r/>6.7.3旋转按钮控件的通知消息6.8CSliderCtrl类控件6.8.1滑动条的风格6.8.2滑动条的基本r/>6.8.3滑动条的通知消息6.9CProgressCtrl类控件6.9.1进度条的创建6.9.2进度条的风格6.9.3进度条的基本r/>6.10应用实例6.10.1实例简介6.10.2创建过程习题第7章文档与视图7.1文档/视图结构7.1.1概述7.1.2文档与视图之间的相互作用7.1.3使用文档/视图结构的意义7.2简单的文档/视图结构应用程序7.2.1文档中数据的初始化7.2.2文档中数据的清理7.2.3简单的文档/视图结构应用程序示例7.2.4集合类的使用7.3文档的读/写7.3.1MFC文档的读/写机制7.3.2MFC文档的序列化7.3.3自定义可序列化的类7.4分割视图窗口7.4.1CSplitterWnd类7.4.2分割视图窗口的实现技术7.5多文档的应用程序7.5.1多文档应用程序的界面7.5.2多视图的应用程序7.5.3多类型的应用程序7.6应用实例7.6.1实例简介7.6.2创建过程习题第8章打印编程8.1基本打能8.1.1打印原理8.1.2CPrintInfo类8.1.3打印过程8.1.4打印预览8.2设置打印坐标系8.2.1Windows映射模式8.2.2映射模式的设置8.3多页打印8.3.1默认打印存在的不足8.3.2实现多页打能8.4打印8.4.1页眉和页脚8.4.2设置页边距习题第9章动态链接库编程9.1概述9.1.1动态链接库的概念9.1.2动态链接库和静态链接库的区别9.1.3使用动态链接库的优势9.1.4DLL文件的存放位置9.1.5动态链接库的分类9.2创建MFC DLL9.2.1使用DEF文件9.2.2使用关键字__declspec(dllexport)9.2.3两种导出函数的方法比较9.3使用MFC DLL9.3.1使用隐式链接9.3.2使用显式链接9.4MFC扩展DLL9.4.1创建MFC扩展DLL9.4.2使用MFC扩展DLL习题第10章多线程编程10.1概述10.1.1问题的提出10.1.2进程和线程10.1.3MFC对多线程编程的支持10.2线程的创建10.2.1创建工作者线程10.2.2创建用户界面线程10.3线程的控制10.3.1终止一个线程10.3.2悬挂和恢复线程10.3.3线程的优先级10.4线程间的通信10.4.1使用全局变量进行通信10.4.2使用自定义消息进行通信10.5线程间的同步10.5.1使用CCriticalSection类10.5.2使用CMutex类10.5.3使用CSemaphore类10.5.4使用CEvent类习题第11章数据库编程11.1概述11.1.1数据库和数据库管理系统11.1.2关系数据库11.1.3SQL语言11.1.4Visual C++中访问数据库的相关技术11.2ODBC技术11.2.1ODBC概述11.2.2MFC ODBC数据库类11.2.3CRecordset类11.3创建MFC ODBC数据库应用程序11.3.1准备数据库11.3.2注册数据源11.3.3创建应用程序框架11.3.4实现数据库程序的基能11.3.5实现数据库程序的能11.4ADO技术11.4.1ADO访问数据源的特点11.4.2ADO的结构11.4.3ADO常用的对象11.4.4_bstr_t类和_variant_t类11.4.5在Visual C++中使用ADO11.DO数据库应用实例11.5.1实例简介11.5.2创建过程习题第12章多媒体编程12.1多媒体程序设计基础12.1.1多媒体程序设计的原理12.1.2多媒体数据格式12.2Windows的多媒体服务12.2.1音频函数12.2.2媒接口12.2.3MCIWnd类12.3ActiveX控件12.3.1ActiveX控件简介12.3.2ActiveX控件的使用12.3.3使用ActiveMovie控件的播放器习题第13章综合应用实例13.能描述13.2系统分析13.2.1实例分析13.2.2计算机的决策方式13.3数据结构设计13.3.1CManager类13.3.2CStatur/>13.3.3CChesr/>13.3.4CPlayer类13.3.5CComputer类13.4系统详细设计13.4.1项目的创建13.4.2界面的设计13.4.3资源的编辑13.4.4棋盘的定位及显示13.4.5成员的添加与初始化13.4.6光标类型的切换13.4.7游戏设置13.4.8落子r/>13.4.9右视能的实现13.4.10悔能的实现13.4.11重新开始游能的实现13.4.12文件的保存与打开13.4.13计能的实现13.4.14日志及排行能的实现13.4.15选手姓名的读入13.4.16音能的实现13.4.17游戏启动封面的设计附录A实验实验1框架的创建与消息处理(2学时)实验2图形与文本(4学时)实验3菜单(2学时)实验4工具栏与状态栏(2学时)实验5对话框(2学时)实验6标准控件(2学时)实验7通用控件(2学时)实验8文档与视图(4学时)实验9打印编程(2学时)实验10动态链接库编程(2学时)实验11多线程编程(2学时)实验12ODBC数据库编程(2学时)实验13ADO数据库编程(2学时)实验14多媒体编程(2学时)参考文献