本书对Visual C++ 6的使用与开发做了全面系统的介绍。首先简单介绍了Visual C++ 6集成开发环境的操作和使用,讲述了C++语言、Windows编程、MFC的基础知识;然后,通过一个画图程序说明了Visual C++ 6编程的主要方法和步骤,包括Windows的菜单、工具栏和对话框资源的使用、程序调试的方法、文档/视图结构、鼠标消息处理、颜色的使用、滚动处理、文件读写、文档打印和多视图。\r\n 本书在组织上是按照由浅入深、循序渐进的结构,强调边学边练,主要通过一个个示例程序来说明如何使用Visual C++ 6,并精心挑选了一些图片,这样既通俗易懂,又能让读者真正掌握编程的基本技巧和方法,无论对于初学者还是具有一定基础的编程人员,都有很高的参考价值。\r\n
译者序\r\n前言\r\n\r\n第一部分 Visual C++入门\r\n\r\n第1章 Visual C++开发环境\r\n\r\n1.1 开始运行Visual C++\r\n1.2 Visual C++联机帮助系统\r\n1.2.1 帮助基础知识\r\n1.2.2 缩小查找范围\r\n1.2.3 防止迷路\r\n1.2.4 补充说明\r\n1.3 项目和项目工作区\r\n1.3.1 项目\r\n1.3.2 项目工作区\r\n1.4 采用项目进行工作\r\n1.4.1 创建一个项目文件\r\n1.4.2 目录及创建的文件\r\n1.4.3 项目文件的添加和删除\r\n1.4.4 项目文件的添加和删除\r\n1.4.5 编辑源代码和资源\r\n1.4.6 项目配置\r\n1.4.7 项目连编\r\n1.4.8 改正编译错误\r\n1.4.9 运行应用程序\r\n1.4.10 调试应用程序\r\n1.4.11 剖试器和代码优化\r\n1.5 采用Visual C++提供的向导工具\r\n1.6 项目工作区窗口的使用\r\n1.6.1 文档窗口\r\n1.6.2 停靠窗口\r\n1.7 工具栏和菜单\r\n1.8 Visual C++中的查找\r\n1.8.1 查找和替换\r\n1.8.2 下拉式的查找列表控件\r\n1.8.3 文件查找命令\r\n1.8.4 源代码文件的书签\r\n1.9 Microsoft 网站和联机帮助\r\n1.10 技巧\r\n1.11 练习\r\n1.12 下一步学什么\r\n\r\n第2章 C++基础\r\n\r\n2.1 采用C++语言编写的Hello程序\r\n2.2 编译和运行应用程序\r\n2.3 在Hello文件中的C++代码\r\n2.3.1 C++注释\r\n2.3.2 预编译伪指令\r\n2.3.3 C++常数\r\n2.3.4 C++关键字\r\n2.3.5 直接量\r\n2.3.6 语句\r\n2.3.7 变量和数据类型\r\n2.3.8 变量的的内存分配\r\n2.3.9 函数和参数\r\n2.3.10 从函数返回结果\r\n2.3.11 C/C++运行库\r\n2.3.12 main函数\r\n2.3.13 表达式和操作符\r\n2.3.14 C++控制语句\r\n2.3.15 C++输入/输出流\r\n2.4 练习\r\n2.5 下一步学\r\n\r\n第3章 C++作用域、指针和引用\r\n\r\n3.1 作用域\r\n3.2 指针\r\n3.2.1 指针基础\r\n3.2.2 指针和数组\r\n3.2.3 指针和字符串\r\n3.2.4 函数参数和函数返回指针\r\n3.3 引用\r\n3.4 关于指针、引用的规则和注意事项\r\n3.4.1 传递参数和返回结果的规则\r\n3.4.2 返回结果需要注意事项\r\n3.5 头文件和实现文件\r\n3.5.1 避免多得包含\r\n3.5.2 预编译头文件\r\n3.6 练习\r\n3.7 下一步学什么\r\n\r\n第4章 C++类\r\n\r\n4.1 对象和类\r\n4.2 Shapel程序\r\n4.2.1 Shapel程序的C++代码\r\n4.2.2 Shapel程序中的struct\r\n4.2.3 Shapel程序中的运行库函数\r\n4.2.4 Shapel程序中的main函数\r\n4.2.5 Shapel程序的缺陷\r\n4.3 Shape2程序\r\n4.3.1 Shape2程序的C++语言\r\n4.3.2 静态变量\r\n4.3.3 Shape2程序的缺陷\r\n4.4 友元函数\r\n4.5 练习\r\n4.6 下一步学什么\r\n\r\n第5章 面向对象程序设计\r\n\r\n5.1 Shape3程序\r\n5.1.1 Shape3程序中的C++\r\n5.1.2 类的派生\r\n5.1.3 设计类的层次性\r\n5.1.4 类层次的访问权限\r\n5.1.5 析构器\r\n5.1.6 静态类成员\r\n5.1.7 关于构造器和析构器的进一步说明\r\n5.1.8 操作符重载\r\n5.2 作用域\r\n5.3 面向对象的程序设计\r\n5.4 本书没有介绍的内容\r\n5.5 练习\r\n5.6 下一步学什么\r\n\r\n第6章 Windows和Win32 API\r\n\r\n6.1 Windows的优点\r\n6.2 Windows API\r\n6.2.1 Win32、SDK和Windows.h\r\n6.2.2 Windows的主要概念\r\n6.2.3 不同的Win 32平台编程\r\n6.2.4 多任务和多线程\r\n6.3 Windows基础\r\n6.3.1 事件\r\n6.3.2 消息\r\n6.3.3 绘图\r\n6.3.4 设备描述表\r\n6.3.5 坐标系\r\n6.4 Windows程序的生命周期\r\n6.5 练习\r\n6.6 下一步学什么\r\n\r\n第7章 采用MFC AppWizard生成代码\r\n\r\n7.1 MFC、Win32 API和学习曲线\r\n7.1.1 类库\r\n7.1.2 应用框架\r\n7.2 使用AppWizard生成代码\r\n7.2.1 跟我一起学习\r\n7.2.2 对MyDraw程序进行连编\r\n7.2.3 运行MyDraw应用程序\r\n7.2.4 AppWizard免费提供的是什么\r\n7.3 编写代码\r\n7.4 练习\r\n7.5 下一步学什么\r\n\r\n第8章 MFC内幕\r\n\r\n8.1 通过AppWizard文件夹来探索MFC\r\n8.2 浏览代码\r\n8.2.1 应用程序对象\r\n8.2.2 主框架窗口对象\r\n8.2.3 文档对象\r\n8.2.4 文档/视图结构\r\n8.2.5 视图对象\r\n8.3 Windows在MFC中的位置\r\n8.4 MFC程序的生命周期\r\n8.5 在运行AppWizard之后的工作\r\n8.6 MFC和Windows\r\n8.7 在MFC查找和使用钩子\r\n8.8 练习\r\n8.9 下一步学什么\r\n\r\n第二部分 MFC基础\r\n\r\n第9章 菜单\r\n\r\n9.1 MyDraw程序简介\r\n9.2 菜单\r\n9.2.1 菜单资源\r\n9.2.2 菜单助记符和菜单单加速键\r\n9.3 Windows资源\r\n9.4 在MyDraw程序中添加“Tools”菜单\r\n9.4.1 加入顶层菜单\r\n9.4.2 添加子菜单\r\n9.4.3 在MyDraw程序中添加键盘加速键\r\n9.5 菜单和命令\r\n9.6 练习\r\n9.7 下一步学什么\r\n\r\n第10章 添加命令处理函数\r\n\r\n10.1 继续MyDraw程序的第一步\r\n10.2 添加命令处理函数\r\n10.2.1 添加OnToolRectangle和OnTool Ellipse命令处理函数\r\n10.2.2 在视图类中添加数据成员m-boxShape\r\n10.2.3 添加两个辅助函数RandomCoord和RandomRect\r\n10.3 测试OnDraw的菜单和绘图命令\r\n10.3.1 使图形消失\r\n10.3.2 更新重画\r\n10.3.3 记住Shape类型\r\n10.3.4 MyDraw程序的功能\r\n10.4 MyDraw程序的未来版本\r\n10.5 练习\r\n10.6 下一步学什么\r\n\r\n第11章 增加人机界面功能\r\n\r\n11.1 采用鼠标绘图\r\n11.1.1 与鼠标相关的函数\r\n11.1.2 鼠标消息处理函数\r\n11.1.3 添加鼠标消息处理函数\r\n11.1.4 采用AfxMessageBox来测试消息\r\n11.2 MyDraw程序\r\n11.2.1 创建Shape数据类型\r\n11.2.2 代替视图类数据成员\r\n11.2.3 重写OnDraw函数\r\n11.2.4 为鼠标消息添加消息处理函数\r\n11.2.5 添加绘图辅助函数\r\n11.2.6 重写“TOOL”命令处理函数\r\n11.2.7 为“tool”命令添加更新处理函数\r\n11.2.8 删掉旧代码\r\n11.3 在鼠标消息处理函数中绘制图形\r\n11.3.1 按下鼠标按钮:开始绘图\r\n11.3.2 捕获鼠标消息\r\n11.3.3 设置绘图的起始位置\r\n11.3.4 拖动鼠标:在绘图中描出鼠标轨迹\r\n11.3.5 删掉代码行:R2-NOT绘制图形模式\r\n11.3.6 InverShape辅助函数\r\n11.3.7 释放鼠标:结束绘图\r\n11.3.8 释放捕获\r\n11.3.9 绘制最后的图形,调整它的坐标\r\n11.3.10 在数组中保存图形\r\n11.3.11 使用数组\r\n11.4 对选中的绘制图形工具添加选中标记:更新菜单\r\n11.4.1 更新处理函数\r\n11.4.2 CCmdUI类\r\n11.4.3 添加一个更新处理函数\r\n11.5 使用形透明\r\n11.6 练习\r\n11.7 下一步学什么\r\n\r\n第12章 在绘图中使用颜色\r\n\r\n12.1 RGB颜色系统\r\n12.1.1 采用RGB宏来创建一种颜色\r\n12.1.2 用颜色进行工作\r\n12.2 添加分层的“TOOLS”菜单\r\n12.3 为“COLOR”菜单命令编写高效的处理函数\r\n12.4 在“COLOR”菜单中添加选中标记\r\n12.5 采用颜色绘图\r\n12.5.1 管理当前选中的颜色\r\n12.5.2 将“COLOR”命令ID转化为RGB颜色\r\n12.5.3 选择采用当前颜色的画笔\r\n12.5.4 设置新图形的颜色\r\n12.6 练习\r\n12.7 下一步学什么\r\n\r\n第13章 调试应用程序\r\n\r\n13.1 Visual C++调试器概览\r\n13.2 Debug和Release连编的比较\r\n13.3 查找程序中的缺陷\r\n13.4 分析程序缺陷\r\n13.4.1 变量检查\r\n13.4.2 断点\r\n13.4.3 在MyDraw程序中设置断点\r\n13.4.4 单步执行代码\r\n13.4.5 查找第11个图形\r\n13.4.6 问题分析\r\n13.5 修正缺陷\r\n13.6 MFC调试机制\r\n13.7 练习\r\n13.8 下一步学什么\r\n\r\n第三部分 深入学习MFC\r\n\r\n第14章 数据、文档和视图\r\n\r\n14.1 文档的设计\r\n14.1.1 文档/视图结构\r\n14.1.2 选择一个合适的数据结构\r\n14.1.3 MyDraw程序的文档界面\r\n14.1.4 清除文档\r\n14.2 CShape类\r\n14.2.1 类的定义\r\n14.2.2 从CObject类中派生\r\n14.2.3 CShape基类\r\n14.2.4 一个派生类CShpRectangle\r\n14.2.5 CShape实现\r\n14.2.6 CShpRectangle和CShpEllipse实现代码\r\n14.2.7 修补MyDraw的头文件结构\r\n14.2.8 数据类设计考虑概述\r\n14.3 练习\r\n14.4 下一步学什么\r\n\r\n第15章 屏幕滚动\r\n\r\n15.1 为什么需要滚动栏\r\n15.2 滚动的基本理论\r\n15.3 处理滚动的基本技巧\r\n15.4 处理文本行的滚动\r\n15.4.1 画出文本\r\n15.4.2 设置滚动大小\r\n15.4.3 在MyDraw中添加滚动\r\n15.5 返回MyDraw程序\r\n15.5.1 在何处调用SetScrollSize\r\n15.5.2 文档长度计算\r\n15.5.3 在MyDraw程序中增加滚动功能\r\n15.5.4 坐标转换\r\n15.6 几点思考\r\n15.7 练习\r\n15.8 下一步学什么\r\n\r\n第16章 在文件中保存序列化\r\n\r\n16.1 序列化和反序列化\r\n16.2 在MyDraw中实现序列化\r\n16.2.1 数据类的序列化要求\r\n16.2.2 使一个图形序列化\r\n16.2.3 在文档中序列化所有图形\r\n16.2.4 CShape的序列化成员函数\r\n16.2.5 CMyDrawDoc中的序列化成员函数\r\n16.2.6 采用CArchieve操作符和调用Serialize\r\n16.2.7 采用MFC模式进行应用程序版本控制\r\n16.3 序列化是怎样工作的\r\n16.3.1 DECLARE-SERIAL宏和IMPLEMENT-SERIAL宏\r\n16.3.2 创建对象\r\n16.3.3 Serialize是如何调用的\r\n16.3.4 CArchieve和CFile\r\n16.4 不采用序列化\r\n16.4.1 文档/视图中的文件I/O\r\n16.4.2 在非文档/视图结构中使用文件I/O\r\n16.5 练习\r\n16.6 下一步学习什么\r\n\r\n第十七章 文档打印\r\n\r\n17.1 打印设计\r\n17.2 MFC打印程序结构\r\n17.2.1 Windows打印\r\n17.2.2 采用MFC进行打印程序设计\r\n17.3 改变映射模式\r\n17.4 对文档编写页码\r\n17.4.1 计算可打印区域\r\n17.4.2 MFC在何处中断页面的打印\r\n17.5 纵向打印和横向打印\r\n17.6 添加页眉和页脚\r\n17.6.1 添加PrintHeader和PrintFooter函数\r\n17.6.2 添加页眉\r\n17.6.3 添加页脚\r\n17.7 结束打印\r\n17.8 练习\r\n17.9 下一步学什么\r\n\r\n第18章 工具栏和选择工具\r\n\r\n18.1 添加一个工具栏\r\n18.1.1 工具栏类\r\n18.1.2 创建一个新的工具栏资源\r\n18.1.3 编写工具栏代码\r\n18.2 实现“Selection”代码\r\n18.2.1 选择模式是如何工作的\r\n18.2.2 “Selction”按钮\r\n18.2.3 在Shapes类中选择代码\r\n18.2.4 击中测试\r\n18.2.5 绘制选择处理\r\n18.3 练习\r\n18.4 下一步学什么\r\n\r\n第19章 对话框和控件\r\n\r\n19.1 关于对话框和控件\r\n19.2 一个简单的有模式对话框\r\n19.2.1 创建并编辑对话框资源\r\n19.2.2 创建对话框类\r\n19.2.3 显示对话框并检索它的内容\r\n19.3 Windows公共对话框\r\n19.3.1 关于公共对话框\r\n19.3.2 在MyDraw中添加“Color”对话框\r\n19.4 一个更为复杂的属性表单对话框\r\n19.4.1 属性表单和属性页\r\n19.4.2 显示“Settings”对话框\r\n19.4.3 为“Setting”对话框创建对话框资源\r\n19.4.4 为“Settings”对话框创建对话框类\r\n19.4.5 为控件添加类数据成员\r\n19.4.6 实现“Shape”属性页\r\n19.4.7 实现“Line”属性页\r\n19.5 控件窗口\r\n19.6 练习\r\n19.7 下一步学什么\r\n\r\n第20章 多视图\r\n\r\n20.1 分割窗口\r\n20.1.1 何时采用动态或静态分割窗口\r\n20.1.2 将静态和动态分割窗口相结合\r\n20.2 在MyDraw中添加动态分割窗口\r\n20.3 创建一个静态分割窗口\r\n20.4 采用视图类能完成什么\r\n20.4.1 用于人机交互\r\n20.4.2 视图是一个窗口\r\n20.4.3 作为应用程序视图类的基类\r\n20.4.4 组合视图类\r\n20.5 MFC对象的通信\r\n20.6 祝贺\r\n20.7 练习\r\n20.8 下一步学什么\r\n\r\n第21章 结束MyDraw程序\r\n\r\n21.1 关于C++、Visual C++和MFC的工具书\r\n21.2 本书所没有涉及的内容\r\n21.3 Microsoft网站和MSDN Online\r\n21.4 MyDraw程序的最后特色\r\n21.5 MyDraw的最终版本\r\n\r\n附录 A MFC源代码文件
无封面