Visual C++ 6.0 程序设计从入门到精通-源代码
文件大小: 20388k
源码售价: 10 个金币 积分规则     积分充值
资源说明:Visual C++ 6.0 程序设计从入门到精通 求是科技 王正军 编著 人民邮电出版社 图书在版编目(CIP)数据 Visual C++6.0 程序设计从入门到精通/求是科技编著.—北京:人民邮电出版社,2006.1 ISBN 7-115-14137-1 Ⅰ.V… Ⅱ.求… Ⅲ.C 语言—程序设计 Ⅳ.TP312 中国版本图书馆CIP 数据核字(2005)第130000 号 内 容 提 要 本书首先从Visual C++ 6.0 的基础知识入手,详细介绍了Visual C++6.0 的操作环境和应用程序的基本 框架,然后按照由易到难、由浅入深地顺序介绍了用Visual C++6.0 开发Windows 程序的方法,包括菜单和 加速键、对话框、常用控件、文本和字体类、图形图像、文件操作、多线程、动态连接库、网络编程和数据 库开发等内容。书中在每一个对应的知识点后面,给出了一个或多个示例。 本书适合想按部就班地学习Visual C++ 6.0 编程并很快应用到实践中的初学者阅读。 Visual C++ 6.0 程序设计从入门到精通 ¨ 编著求是科技 王正军 责任编辑张立科 ¨ 人民邮电出版社出版发行北京市崇文区夕照寺街14 号 邮编 100061 电子函件 315@ptpress.com.cn 网址 http://www.ptpress.com.cn 北京鸿佳印刷厂印刷 新华书店总店北京发行所经销 ¨ 开本:787×1092 1/16 印张:23.75 字数:579 千字 2006 年1 月第1 版 印数:1 – 6 000 册 2006 年1 月北京第1 次印刷 ISBN 7-115-14137-1/TP·5056 定价:39.00 元(附光盘) 读者服务热线:(010)67132692 印装质量热线:(010)67129223 前 言 随着计算机技术的发展,可视编程技术占有了越来越重要的作用。Visual C++ 6.0 是微软 公司的重要产品—Visual Studio 工具集的组成部分。它用来在Windows(包括Windows 95、 Windows 98、Windows NT、Windows 2000 等)环境下开发应用程序,是一种功能强大、行 之有效的可视化编程工具,因此成为广大软件开发人员的首选。 本书为希望学习Visual C++的初学者而编写,按照由浅入深、循序渐进的顺序介绍了 Visual C++编程的相关方法和技巧。在介绍过程中,还在相应的知识点后给出了1 个或多个 相关的示例,以帮助读者尽快将所学知识应用到实践中。 全书的安排如下。 第1 章 主要介绍了Visual C++ 6.0 的集成开发环境(IDE),让读者对Visual C++先有 一个初步印象和了解。 第2 章 主要介绍在AppWizard 工具中创建应用程序框架的步骤,然后介绍生成的工程 文件中各部分所包含的类及相互间的关系,并着重阐述应用程序框架及整个应用程序的运行 机理。 第3 章 主要介绍了Windows 界面设计的两个基本元素—菜单和加速键的设计和使 用,同时还介绍了Windows 消息驱动机制的概念和遵循这一机制的程序设计方法。 第4 章 主要介绍了对话框的一般创建流程,模态和非模态的对话框、属性页对话框、 各种通用对话框以及消息对话框的使用方法。 第5 章 主要介绍了MFC 编程中常用控件的设计方法,包括传统的Windows 控件和新 型的Win32 控件。 第6 章 主要介绍了Windows GDI 输出文本和字体的方法。 第7 章 主要介绍了Windows 基本的绘图函数和主要的GDI 对象。 第8 章 主要通过示例介绍在MFC 中对文件进行操作的方法,包括串行化、CFile 文件 操作和文件对话框3 部分内容。 第9 章 主要介绍Windows 操作系统下多线程的基本概念、创建管理线程的方法,以及 线程的同步问题。 第10 章 主要介绍了在Visual C++平台下进行Win32 动态链接库的设计和应用。 第11 章 主要介绍了网络编程的基本知识及基本步骤,并且详细介绍了WinSock 类。 第12 章 主要介绍了数据库的基本概念和数据库开发的几种主要技术、Access 数据库 的创建和维护以及SQL 语句的基本知识。 在本书的编写过程中,借鉴了许多现行教材的宝贵经验,在此,谨向这些作者表示诚挚 的感谢。由于时间仓促,加之编者水平有限,书中难免有谬误或不足之处,敬请广大读者批 评指正。 编者 目 录 第1 章 Visual C++ 6.0 开发环境介绍.......................................................................................... 1 1.1 Visual C++ 6.0 概述....................................................................................................... 1 1.2 Visual C++ 6.0 的主要特点........................................................................................... 1 1.3 Visual C++ 6.0 主框架窗口........................................................................................... 3 1.3.1 工作区和客户区................................................................................................. 3 1.3.2 菜单栏................................................................................................................. 4 1.3.3 工具栏................................................................................................................. 4 1.3.4 输出窗口............................................................................................................... 4 1.4 资源编辑器...................................................................................................................... 4 1.5 本章小结.......................................................................................................................... 5 第2 章 应用程序基本框架......................................................................................................... 6 2.1 利用MFC AppWizard 自动生成应用程序................................................................... 6 2.1.1 关于工程及工作区的概念................................................................................. 6 2.1.2 利用向导生成应用程序框架............................................................................... 6 2.1.3 Visual C++工程文件的组成............................................................................... 12 2.2 程序的应用框架和运行过程........................................................................................ 14 2.2.1 应用框架............................................................................................................. 14 2.2.2 程序的运行过程................................................................................................. 15 2.3 应用程序类及其主要成员函数.................................................................................... 18 2.3.1 InitInstance()函数................................................................................................ 19 2.3.2 Run()函数............................................................................................................ 21 2.3.3 ExitInstance()函数.............................................................................................. 22 2.3.4 OnIdle()函数....................................................................................................... 22 2.4 文档类和视图类............................................................................................................ 23 2.4.1 文档类................................................................................................................. 23 2.4.2 视图类................................................................................................................. 25 2.4.3 文档类与视图类的相互关系............................................................................. 26 2.4.4 单文档(SDI)与多文档(MDI)应用程序................................................... 28 2.5 窗口类及其控件栏........................................................................................................ 30 2.5.1 主窗口类............................................................................................................. 30 2.5.2 子窗口类............................................................................................................. 31 2.5.3 工具栏................................................................................................................. 33 2.5.4 状态栏................................................................................................................. 36 2.6 应用程序框架中各类对象间的关系............................................................................ 40 2.7 本章小结........................................................................................................................ 41 Visual C++ 6.0 程序设计从入门到精通 ·2· 第3 章 菜单与加速键................................................................................................................. 42 3.1 消息与事件.................................................................................................................... 42 3.1.1 事件驱动机制..................................................................................................... 42 3.1.2 消息和消息映射................................................................................................. 42 3.1.3 消息处理过程..................................................................................................... 46 3.2 菜单和加速键的创建.................................................................................................... 47 3.2.1 菜单的创建......................................................................................................... 47 3.2.2 加速键的创建..................................................................................................... 49 3.3 添加菜单所需处理函数................................................................................................ 51 3.3.1 添加普通菜单的处理函数................................................................................. 52 3.3.2 添加弹出式菜单的处理函数............................................................................. 57 3.4 创建加速键.................................................................................................................... 59 3.5 本章小结........................................................................................................................ 60 第4 章 对话框............................................................................................................................. 61 4.1 对话框的创建................................................................................................................ 61 4.1.1 对话框的创建流程............................................................................................. 61 4.1.2 创建对话框资源................................................................................................. 62 4.1.3 创建对话框类..................................................................................................... 67 4.2 模态对话框.................................................................................................................... 73 4.3 非模态对话框................................................................................................................ 74 4.4 属性页对话框................................................................................................................ 77 4.4.1 主要相关类介绍................................................................................................. 78 4.4.2 向导对话框的创建步骤..................................................................................... 82 4.4.3 一般属性页对话框的创建步骤......................................................................... 88 4.5 通用对话框.................................................................................................................... 88 4.5.1 打印设置对话框................................................................................................. 89 4.5.2 页面设置对话框................................................................................................. 90 4.5.3 查找对话框......................................................................................................... 91 4.5.4 文件对话框......................................................................................................... 94 4.5.5 字体对话框......................................................................................................... 95 4.5.6 颜色对话框......................................................................................................... 96 4.6 消息对话框.................................................................................................................... 97 4.7 本章小结........................................................................................................................ 98 第5 章 常用控件......................................................................................................................... 99 5.1 静态文本(Static text)控件........................................................................................ 99 5.1.1 传统控件通知消息........................................................................................... 100 5.1.2 静态控件的使用............................................................................................... 101 5.1.3 Cstatic 类的主要成员函数............................................................................... 101 5.2 文本编辑(Edit Box)控件........................................................................................ 103 目录 ·3· 5.2.1 文本编辑控件的使用....................................................................................... 103 5.2.2 Cedit 类的主要成员函数.................................................................................. 104 5.3 滚动条(Scroll Bar)控件.......................................................................................... 108 5.3.1 滚动条控件的使用........................................................................................... 108 5.3.2 CscrollBar 类的主要成员函数......................................................................... 109 5.4 按钮(Button、Radio Box、Check Box、Group Box)控件................................... 111 5.4.1 按钮控件的使用............................................................................................... 111 5.4.2 Cbutton 类的主要成员函数............................................................................. 112 5.5 列表框(List Box)控件............................................................................................ 117 5.5.1 列表框控件的使用........................................................................................... 117 5.5.2 ClistBox 类的主要成员函数............................................................................ 119 5.6 组合框(Combo box)控件....................................................................................... 122 5.6.1 组合框控件的使用........................................................................................... 122 5.6.2 CcomboBox 类的主要成员函数...................................................................... 124 5.7 图片(Picture)控件................................................................................................... 125 5.8 列表(List Ctrl)控件................................................................................................. 128 5.8.1 Win32 新型控件概述....................................................................................... 128 5.8.2 列表控件的使用............................................................................................... 129 5.8.3 ClistCtrl 类的主要成员函数............................................................................ 133 5.9 树型(Tree Ctrl)控件................................................................................................ 135 5.9.1 树型控件的使用............................................................................................... 135 5.9.2 CtreeCtrl 类的主要成员函数........................................................................... 139 5.9.3 树型控件的通知消息....................................................................................... 141 5.10 选项卡(Tab Ctrl)控件........................................................................................... 141 5.10.1 选项卡控件的使用......................................................................................... 141 5.10.2 选项卡控件通知消息..................................................................................... 142 5.11 本章小结.................................................................................................................... 145 第6 章 文本和字体类............................................................................................................... 146 6.1 基础知识介绍.............................................................................................................. 146 6.2 CFont 类....................................................................................................................... 146 6.2.1 概述................................................................................................................... 146 6.2.2 主要成员函数................................................................................................... 147 6.3 文本输出过程.............................................................................................................. 151 6.4 字体和文本输出实例.................................................................................................. 153 6.5 本章小结...................................................................................................................... 161 第7 章 图形图像....................................................................................................................... 162 7.1 绘图的基础知识.......................................................................................................... 162 7.2 屏幕绘图的主要函数.................................................................................................. 163 7.3 图形设备接口(GDI) ............................................................................................... 165 Visual C++ 6.0 程序设计从入门到精通 ·4· 7.3.1 设备环境类(CDC)....................................................................................... 165 7.3.2 GDI 对象........................................................................................................... 166 7.4 画笔和画刷.................................................................................................................. 166 7.4.1 画笔................................................................................................................... 167 7.4.2 画刷................................................................................................................... 171 7.5 本章小结...................................................................................................................... 173 第8 章 文件操作....................................................................................................................... 174 8.1 串行化基础知识.......................................................................................................... 174 8.1.1 文档类............................................................................................................... 174 8.1.2 Serialize()函数.................................................................................................. 177 8.1.3 CArchive 类....................................................................................................... 180 8.1.4 加入串行化代码............................................................................................... 182 8.2 文件CFile 类............................................................................................................... 186 8.2.1 打开操作........................................................................................................... 188 8.2.2 读写操作........................................................................................................... 190 8.2.3 定位操作........................................................................................................... 192 8.2.4 关闭操作........................................................................................................... 194 8.2.5 异常操作........................................................................................................... 195 8.2.6 管理操作........................................................................................................... 197 8.3 文件对话框.................................................................................................................. 203 8.3.1 多选文件对话框............................................................................................... 203 8.3.2 重载文件对话框............................................................................................... 204 8.4 本章小结...................................................................................................................... 206 第9 章 多线程........................................................................................................................... 207 9.1 多线程的基本概念...................................................................................................... 207 9.2 两种重要的线程.......................................................................................................... 207 9.2.1 用户界面线程................................................................................................... 207 9.2.2 工作者线程....................................................................................................... 208 9.3 线程的操作.................................................................................................................. 208 9.3.1 线程的创建....................................................................................................... 208 9.3.2 线程的终止....................................................................................................... 211 9.3.3 线程的管理和操作........................................................................................... 212 9.3.4 线程间的通信................................................................................................... 229 9.3.5 线程的同步....................................................................................................... 234 9.3.6 示例:串口通信............................................................................................... 243 9.4 本章小结...................................................................................................................... 250 第10 章 动态链接库................................................................................................................. 251 10.1 动态链接库的基础知识............................................................................................ 251 目录 ·5· 10.2 DLL 的出入口函数................................................................................................... 252 10.2.1 DllMain()函数................................................................................................. 253 10.2.2 DLL 的导出函数............................................................................................ 255 10.3 两种链接DLL 的方式.............................................................................................. 257 10.3.1 隐式链接......................................................................................................... 257 10.3.2 显式链接......................................................................................................... 258 10.4 开发DLL ................................................................................................................... 259 10.4.1 创建Non-MFC DLL 动态链接库.................................................................. 259 10.4.2 MFC AppWizard[dll]方式生成常规/扩展DLL............................................. 261 10.4.3 导出函数调用约定......................................................................................... 261 10.4.4 模块定义文件(DEF 文件)......................................................................... 264 10.5 动态链接库中的资源................................................................................................ 264 10.6 界面汉化示例............................................................................................................ 267 10.7 使用钩子(Hook)函数........................................................................................... 271 10.7.1 钩子函数的类型............................................................................................. 271 10.7.2 使用钩子函数................................................................................................. 273 10.7.3 鼠标钩子应用实例......................................................................................... 274 10.7.4 键盘钩子应用实例......................................................................................... 278 10.8 本章小结.................................................................................................................... 279 第11 章 网络编程..................................................................................................................... 280 11.1 网络编程的基础知识................................................................................................ 280 11.1.1 Socket 简介..................................................................................................... 280 11.1.2 Windows 套接字规范简介............................................................................. 280 11.2 网络应用程序............................................................................................................ 281 11.2.1 网络应用程序的基本模型............................................................................. 281 11.2.2 建立套接字对象............................................................................................. 282 11.2.3 绑定地址......................................................................................................... 283 11.2.4 建立连接......................................................................................................... 283 11.2.5 监听socket ...................................................................................................... 284 11.2.6 数据传输......................................................................................................... 284 11.3 WinSock 类................................................................................................................ 285 11.3.1 CAsyncSocket 类............................................................................................. 285 11.3.2 CSocket 类....................................................................................................... 286 11.4 网络编程的实现........................................................................................................ 288 11.4.1 程序设计的基本任务..................................................................................... 288 11.4.2 服务器端程序设计......................................................................................... 288 11.4.3 客户端程序设计............................................................................................. 309 11.5 利用 MSComm 控件进行串口编程........................................................................ 322 11.5.1 MSComm 控件介绍........................................................................................ 322 Visual C++ 6.0 程序设计从入门到精通 ·6· 11.5.2 利用MSComm 控件编程的基本流程........................................................... 323 11.5.3 利用MSComm 进行串口通信....................................................................... 324 11.6 本章小结.................................................................................................................... 328 第12 章 数据库开发................................................................................................................. 329 12.1 概述............................................................................................................................ 329 12.1.1 数据库的基本概念......................................................................................... 329 12.1.2 数据库相关技术介绍..................................................................................... 330 12.1.3 数据库应用程序的开发步骤......................................................................... 331 12.1.4 选择数据库管理系统的原则......................................................................... 332 12.2 设计创建和维护Access 数据库............................................................................... 333 12.2.1 创建Access 数据库........................................................................................ 334 12.2.2 创建数据表..................................................................................................... 334 12.2.3 设计和修改数据表的结构............................................................................. 335 12.2.4 设置表之间的关系......................................................................................... 336 12.2.5 编辑管理数据库记录..................................................................................... 338 12.3 标准的SQL 语句....................................................................................................... 340 12.3.1 SQL 的基本知识............................................................................................. 340 12.3.2 基本的SQL 语句............................................................................................ 341 12.3.3 关系数据库的联合查询技术......................................................................... 342 12.4 ADO 基础知识.......................................................................................................... 343 12.4.1 ADO 的技术特点........................................................................................... 344 12.4.2 ADO 的结构................................................................................................... 344 12.5 ADO 的对象和集合.................................................................................................. 345 12.5.1 连接对象......................................................................................................... 345 12.5.2 命令对象......................................................................................................... 346 12.5.3 记录集对象..................................................................................................... 346 12.5.4 ADO 的其他对象........................................................................................... 347 12.5.5 集合................................................................................................................. 349 12.6 数据库操作................................................................................................................ 350 12.6.1 动态链接库的引入和OLE/COM 库的初始化............................................. 351 12.6.2 ADO 与数据库的连接.................................................................................... 351 12.6.3 获得和遍历记录集......................................................................................... 352 12.6.4 对记录的操作................................................................................................. 354 12.6.5 关闭记录集..................................................................................................... 355 12.7 利用ADO 查询并操作数据库实例.......................................................................... 355 12.8 本章小结.................................................................................................................... 370 第1 章 Visual C++ 6.0 开发环境介绍 1.1 Visual C++ 6.0 概述 Visual C++是微软公司的重要产品之一—Visual Studio 工具集的重要组成部分。它用来 在Windows(包括Windows 95、Windows 98、Windows NT、Windows 2000 等)环境下开发 应用程序,是一种功能强大、行之有效的可视化编程工具。Visual C++以可视化技术为基础, 以C++语言为蓝本,以众多的集成工具为骨架,在计算机领域的诸多方面都发挥着重要的作 用。其以实用的开发环境和集成的工具集让用户高效率地开发应用程序。 Visual C++提供了MFC 类库,使用户可以很方便地开发自己想实现的功能。与Turbo C 等工具相比,Visual C++完成目标(尤其对于图形界面的程序)所花费的时间要少得多。 Visual C++ 6.0 是微软公司推出的Visual C++开发工具的6.0 版本,发行于Microsoft 的 Visual Studio 6.0 套装软件中。该工具在速度和代码量要求较高的场合中是首选工具。Visual C++ 6.0 在以前版本的基础上又增加了许多特性。除了支持Internet 特性外,ADO 数据绑定、 ATL 复合控件、Auto Completion、编辑和继续特性、OLE-DB 提供者模块、延迟加载移入以 及新的调试特性等都给Visual C++6.0 增色不少。开发者可以充分利用Visual C++ 6.0 的这些 特性,构建出自己的Windows 应用程序。 1.2 Visual C++ 6.0 的主要特点 Visual C++ 6.0 中的MFC 类库和以前的版本中相比没有做太大的改进,只是增加了对微 软公司的IntelliMouse(智能鼠标)的支持,但Visual C++集成开发环境中做了一些改进,增 加了一些新特性,使其更易于使用。这些新特性包括以下几个方面。 1.自动化和宏功能 自动化(Automation)功能用于实现一些重复性过程和工作。宏记录功能可以根据用户 的操作自动生成宏操作序列。Visual Studio 及其组件都可以看作对象来处理,这意味着可以 进行自动化和诸如打开、编辑、关闭文档和调整窗口等操作。 2.可定制的工具栏和菜单 可以灵活地定制菜单和工具栏,使其更适合工作需要。如可以创建新的工具条和菜单(增 加、删除菜单命令和工具条按钮等)。 Visual C++ 6.0 程序设计从入门到精通
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。