这是一本介绍如何使用Visual C++ 6.0的书,它将详细地告诉你如何使用Visual C++ 建立32位应用程序,包括数据库应用程序、Internet应用程序以及ActiveX应用程序。\r\n 本书包括第1章到第28章以及附录部分。第一章都将介绍一个重要的编程任务,或两个紧密相关的任务。在第一章中,详细的指导会告诉你如何创建一个或几个可运行的应用程序。本书的重点内容包括对话框与控件、消息和命令、视图/文档模型、在屏幕上绘图、打印、持久性和文件I/O、ActiveX编程、Internet编程、数据库访问、高级教材等。\r\n 本书适合于Visual C++6.0的开发人员,尤其对具有Visual C++编辑经验的程序员来说具有非常好的参考价值。\r\n
译者序\r\n前言\r\n\r\n第一部分 开始学习\r\n\r\n第一章 创建第一个Windows 应用程序\r\n\r\n1.1 生成一个Windows 应用程序\r\n1.1.1 选择文档界面风格\r\n1.1.2 数据库\r\n1.1.3 复合文档支持\r\n1.1.4 外观和其他选项\r\n1.1.5 其他选项\r\n1.1.6 文件名和类名\r\n1.1.7 生成应用程序\r\n1.1.8 试验应用程序\r\n1.2 生成一个基于对话框的应用程序\r\n1.3 生成DLL、控制台应用程序及其他\r\n1.3.1 ATL Com AppWizard\r\n1.3.2 Custom AppWizard\r\n1.3.3 Database Project\r\n1.3.4 DevStudio Add-In Wizard\r\n1.3.5 ISAPI Extension Wizard\r\n1.3.6 Makefile\r\n1.3.7 MFC ActiveX ControlWizard\r\n1.3.8 MFC AppWizard\r\n1.3.9 Win32 Application\r\n1.3.10 Win32 Console Application\r\n1.3.11 Win32 Dynamic Link Library\r\n1.3.12 Win32 Static Library\r\n1.4 在应用程序向导中改变选择项目\r\n1.5 理解应用程序向导所生成的代码\r\n1.5.1 单文档界在应用程序\r\n1.5.2 其他文件\r\n1.5.3 理解多文档界面应用程序代码\r\n1.5.4 理解基于对话框的应用程序代码\r\n1.6 回顾AppWiard的选择项和本间小结\r\n\r\n第二章 对话框的控件\r\n\r\n2.1 理解对话框\r\n2.2 创建对话框资源\r\n2.2.1 定义对话框和控件\r\n2.2.2 创建示例对话框\r\n2.3 编写对话框类\r\n2.4 使用对话框类\r\n2.4.1 显示对话框\r\n2.4.2 屏幕之后\r\n2.4.3 使用列表框控件\r\n2.4.4 使用单选按钮\r\n\r\n第三章 消息和命令\r\n\r\n3.1 理解消息机制\r\n3.2 理解消息循环\r\n3.3 消息映射\r\n3.3.1 消息映射宏\r\n3.3.2 消息映射如何工作?\r\n3.3.3 MFC代码捕获的消息\r\n3.4 怎样利用ClassWizard捕获消息\r\n3.4.1 ClassWizard对话框\r\n3.4.2 添加Windwos 消息处理对话框\r\n3.4.3 捕获消息的类\r\n3.5 识别消息\r\n3.6 理解命令\r\n3.7 理解命令更新\r\n3.8 怎样利用ClassWizard捕获命令与命令更新\r\n\r\n第二部分 从应用程序得到信息\r\n\r\n第四章 文档和视图\r\n\r\n4.1 理解文档类\r\n4.2 理解视图类\r\n4.3 创建Rectangles应用程序\r\n4.4 其他视图类\r\n4.5 模板、视图和框架窗口\r\n\r\n第五章 在屏幕上绘图\r\n\r\n5.1 理解设备环境\r\n5.2 介绍Paint应用程序\r\n5.3 创建Paint应用程序\r\n5.3.1 在MFC程序中画图\r\n5.3.2 切换显示\r\n5.3.3 使用字体\r\n5.3.4 改变窗口的大小和位置\r\n5.3.5 使用画笔\r\n5.3.6 使用画刷\r\n5.4 滚动窗口\r\n5.4.1 创建Scroll应用程序\r\n5.4.2 添加代码增加行\r\n5.4.3 添加代码减少行\r\n\r\n第六章 打印和打印预览\r\n\r\n6.1 理解MFC的基本打印和打印预览\r\n6.2 缩放\r\n6.3 打印多页\r\n6.3.1 设置原点\r\n6.3.2 MFC和打印\r\n\r\n第七章 持久性和文件I/O\r\n\r\n7.1 对象的持久性\r\n7.2 File Demo应用程序\r\n7.2.2 文档类的回顾\r\n7.2.2 创建File Demo应用程序\r\n7.3 创建一个持久类\r\n7.3.1 File Demo2应用程序\r\n7.3.2 CMessages类一览\r\n7.3.3 在CMessages类\r\n7.4 直接读写文件\r\n7.5 创建自己的CArchive对象\r\n7.6 理解注册\r\n7.6.1 注册是如何设置的\r\n7.6.2 预定义的键\r\n7.6.3 在MFC应用程序中的使用“注册”\r\n7.6.4 简单的应用程序\r\n\r\n第八章 创建一完整的应用程序:ShowString\r\n\r\n8.1 建立显示字符串的应用程序\r\n8.1.1 用AppWizard创建一个程序的空壳\r\n8.1.2 显示字符串\r\n8.2 建立ShowString菜单\r\n8.3 创建ShowString对话框\r\n8.3.1 ShowString的About对话框\r\n8.3.2 ShowString的OPtions对话框\r\n8.4 使菜单工作\r\n8.4.1 对话框类\r\n8.4.2 捕获消息\r\n8.5 使对话框工作\r\n8.6 向Options对话框添加外观选项\r\n8.6.1 改变Options对话框\r\n8.6.2 在对话框类中增加成员变量\r\n8.6.3 在文档中增加成员变量\r\n8.6.4 改变OnToolsOptions( )\r\n8.6.5 改变OnDraw()\r\n\r\n第三部分 改善用户界面\r\n\r\n第九章 状态栏和工具栏\r\n\r\n9.1 使用工具栏\r\n9.1.1 删除工具栏按钮\r\n9.1.2 添加按钮到工具栏\r\n9.1.3 CToolBar类的成员函数\r\n9.2 使用状态栏\r\n9.2.1 创建新的命令ID\r\n9.2.2 创建缺省字符串\r\n9.2.3 添加ID到批示器数组\r\n9.2.4 创建窗格的命令更新处理程序\r\n9.2.5 设置状态栏的外观\r\n9.3 使用Rebars\r\n\r\n第十章 常用控件\r\n\r\n10.1 进度条控件\r\n10.1.1 创建进度条\r\n10.1.2 初始化时度条\r\n10.1.3 操作进度条\r\n10.2 滑块控件\r\n10.2.1 创建滑志\r\n10.2.2 初始滑块\r\n10.2.3 操作滑块\r\n10.3 上下控件\r\n10.4 图像列表控件\r\n10.4.1 创建图像列表\r\n10.4.2 初始化图像列表\r\n10.5 列表初图控件\r\n10.5.1 创建列表视频图\r\n10.5.2 创建列表视图的列\r\n10.5.3 创建列表视图的项目\r\n10.5.4 操作列表视图\r\n10.6 树形视图控件\r\n10.6.1 创建树形视图\r\n10.6.2 创建树形视图的项目\r\n10.6.3 操作树形视图\r\n10.7 Rich Edit控件\r\n10.7.1 创建Rich Edit控件\r\n10.7.2 初始化Rich Edit控件\r\n10.7.3 操作Rich Edit控件\r\n10.8 IP地址控件\r\n10.9 日期提取控件\r\n10.10 月历控件\r\n10.11 卷动视图\r\n\r\n第十一章 帮助\r\n\r\n11.1 不同类型的Help\r\n11.1.1 获得Help\r\n11.1.2 显示Help\r\n11.1.3 使用Help\r\n11.1.4 编写Help程序\r\n11.2 帮助系统的组件\r\n11.3 AppWizard支持的Help\r\n11.4 设计你自己的Help的方法\r\n11.5 命令Help的编程\r\n11.6 上下文Help的编程\r\n11.7 编写Help文本\r\n11.7.1 更改占位符字符串\r\n11.7.2 添加主题\r\n11.7.3 更改“How to Modify Text”\r\n11.8 Contents的调整\r\n\r\n第十二章 属性页和属性表\r\n\r\n12.1 属性表介绍\r\n12.2 创建属性表演示应用程序\r\n12.2.1 创建基本文件\r\n12.2.2 编辑资源\r\n12.2.3 添加新资源\r\n12.2.4 建立资源和类的关联\r\n12.2.5 创建属性表类\r\n12.3 运行属性表演示应用程序\r\n12.4 在应用程序中添加属性表\r\n12.5 把属性表变成\r\n12.5.1 运行Wizard Demo应用程序\r\n12.5.2 创建Wizard 页\r\n12.5.3 显示Wizard \r\n12.5.4 设置Wizard 的按钮\r\n12.5.5 响应Wizard 的按钮\r\n\r\n第四部分 ActiveX应用程序与ActiveX控件\r\n\r\n第十三章 ActiveX概念\r\n\r\n13.1 ActiveX的目的\r\n13.2 对象链接\r\n13.3 对象嵌入\r\n13.4 容器和服务器\r\n13.5 面向更加直观的用户界面\r\n13.6 组件对象模型\r\n13.7 自动化\r\n13.8 ActiveX控件\r\n\r\n第十四章 创建ActiveX容器应用程序\r\n\r\n14.1 更改ShowString\r\n14.1.1 AppWizard生成ActiveX容器代码\r\n14.1.2 恢复ShowString的功能\r\n14.2 移动、改变大小和跟踪\r\n14.3 处理多个对象和对象选择\r\n14.3.1 击中测试\r\n14.3.2 画多个项目\r\n14.3.3 处理单击\r\n14.3.4 处理双击\r\n14.4 实现拖放\r\n14.4.1 实现拖动源\r\n14.4.2 实现释放目标\r\n14.4.3 衬视图作为释放目标注册\r\n14.4.4 建立函数框架并添加成员函数\r\n14.4.5 OnDragEnter()\r\n14.4.6 OnDragOver()\r\n14.4.7 OnDragLeave()\r\n14.4.8 OnDragDrop()\r\n14.4.9 测试和拖动目标\r\n14.5 删除对象\r\n\r\n第十五章 创建ActiveX服务器应用程序\r\n\r\n15.1 给ShowString增加服务器功能\r\n15.1.1 AppWizard的服务器示例程序\r\n15.1.2 再次显示字符串\r\n15.2 既是服务器又是容器的应用程序\r\n15.2.1 创建另一个版本的ShowString\r\n15.2.2 嵌套和递归问题\r\n15.3 ActiveX文档\r\n15.3.1 ActiveX文档做些什么\r\n15.3.2 使ShowString成为ActiveX文档服务器\r\n\r\n第十六章 创建自动服务器\r\n\r\n16.1 再次设计ShowString\r\n16.1.1 AppWizard的自动模板\r\n16.1.2 提示属性\r\n16.1.3 OnDraw()函\r\n16.1.4 显示窗口\r\n16.2 在Visual Baisc中创创建控制器应用程序\r\n16.3 类型库和ActiveX实质\r\n\r\n第十七章 创建ActiveX控件\r\n\r\n17.1 创建一个骰子滚动控件\r\n17.1.1 创建控件外壳\r\n17.1.2 AppWizard的代码\r\n17.1.3 设计控件\r\n17.2 显示当前值\r\n17.2.1 添加属性\r\n17.2.2 编写绘图代码\r\n17.3 响应鼠标单击和滚动骰子\r\n17.3.1 通知容器\r\n17.3.2 滚动骰子\r\n17.4 创建更好的用户界面\r\n17.4.1 位图图标\r\n17.4.2 显示圆点\r\n17.5 生成属性表\r\n17.5.1 数字与圆点\r\n17.5.2 用户选定的颜色\r\n17.6 按要求滚动\r\n17.7 将来的改进\r\n17.7.1 允许与禁止滚动\r\n17.7.2 具有与众不同的面数的骰子\r\n17.7.3 骰子数组\r\n\r\n第五部分 Internet编程\r\n\r\n第十八章 Sockets、MAPI和Internet\r\n\r\n18.1 使用Windows Sockets\r\n18.2 使用消息收发API\r\n18.2.1 何为MAPI\r\n18.2.2 Windows 95标识要求\r\n18.2.3 MAPI的高级应用\r\n18.3 使用WinInet类\r\n18.4 使用Internet服务器API类\r\n\r\n第十九章 用WinInet类进行Internet编程\r\n\r\n19.1 设计Internet查询程序\r\n19.2 创建查询对话框\r\n19.3 查询HTTP站点\r\n19.4 查询FTP站点\r\n19.5 查询Gopher站点\r\n19.6 使用Gopher发送Finger查询\r\n19.7 使用Gopher发送一个Whois查询\r\n19.8 使用未来的工作\r\n\r\n第二十章 创建一个Internet ActiveX控件\r\n\r\n20.1 在Microsoft Internet Explorer Web页嵌入ActiveX控件\r\n20.2 在Netscape Navigator Web页中嵌入ActiveX控件\r\n20.3 为改编和初始化安全而注册\r\n20.4 ActiveX控件与Java Applets的选取\r\n20.5 使用AppWizard创建更快的ActiveX控件\r\n20.6 利用导师步属性提高控件的加载速度\r\n20.6.1 属性\r\n20.6.2 使用BLOB\r\n20.6.3 修改Direroll\r\n20.6.4 测试和调试Dieroll\r\n\r\n第二十一章 活动模板库\r\n\r\n21.1 为什么使用ATL\r\n21.2 使用AppWizard入门\r\n21.3 使用Object Wizard\r\n21.3.1 在中添加一个控件\r\n21.3.2 命名控件\r\n21.3.3 设置控件属性\r\n21.3.4 支持Stock属性\r\n21.4 给控件添加属性\r\n21.4.1 由Object Wizard生成的代码\r\n21.4.2 添加ReadyState Stock属性\r\n21.4.3 增加定制属性\r\n21.4.4 初始化属性\r\n21.4.5 添加异步属性\r\n21.5 绘制控件\r\n21.6 持久性和属性页\r\n21.6.1 添加属性页\r\n21.6.2 连接属性页到CDieRoll\r\n21.6.3 在属性性包中的持久性\r\n21.7 在Control Pad中使用控件\r\n21.8 增加\r\n21.8.1 给事件接口添加方法\r\n21.8.2 实现IConnectionPoint接口\r\n21.8.3 触怪Click事件\r\n21.8.4 触发ReadyStateChange\r\n21.9 暴露Doroll()函数\r\n21.10 Init Safe 和Script Safe的注册\r\n21.11 准备在设计模式中使用的控件\r\n21.12 最小化可执行文件控件\r\n21.13 在Web页中使用控件\r\n\r\n第六部分 高级编程技术\r\n\r\n第二十二章 数据访问\r\n\r\n22.1 理解数据库的概念\r\n22.1.1 使用现面数据库模型\r\n22.1.2 使用关系数据库模型\r\n22.1.3 数据库访问\r\n22.1.4 Visaul C++ ODBC类\r\n22.2 创建ODBC数据库应用程序\r\n22.2.1 注册数据库\r\n22.2.2 创建基本的确良Employee应用程序\r\n22.2.3 创建数据库显示\r\n22.2.4 添加和删除记录\r\n22.2.5 OnRecordAdd函数分析\r\n22.2.6 OnMove函数分析\r\n22.2.7 OnRecordDelete( )函数分析\r\n22.2.8 排序与过滤\r\n22.2.9 OnSortDept( )函数分析\r\n22.2.10 DoFilter()函数分析\r\n22.3 在ODBC与DAO之间作出选择\r\n22.4 OLE DB\r\n\r\n第二十三章 最新的企业版\r\n\r\n23.1 什么是企业版\r\n23.2 理解SQL\r\n23.3 在C++中使用SQL操作数据库\r\n23.4 开发发布应用程序\r\n23.4.1 建立DataSource\r\n23.4.2 创建应用程序外壳\r\n23.4.3 建立数据连接\r\n23.4.4 使用查询设计器\r\n23.4.5 存储过程\r\n23.4.6 编写新的存储过程\r\n23.4.7 存储过程与C++代码的连接\r\n23.5 使用数据库\r\n23.5.1 数据库设计器\r\n23.5.2 数据库图表\r\n23.6 理解Microsoft 事务处理服务器\r\n23.7 使用Visual SourceSafe\r\n\r\n第二十四章 改进应用程序性能\r\n\r\n24.1 使用ASSERT和TRAC防止错误\r\n24.1.1 ASSERT:检测逻辑错误\r\n24.1.2 TRACE:隔离程序中存在问题的区域\r\n24.2 增加只调试特性\r\n24.3 防止内存泄漏\r\n24.3.1 内存泄漏的常见原因\r\n24.3.2 调试使用new和delete的代码\r\n24.3.3 自动指针\r\n24.4 通过优化使代码效率更高\r\n24.5 利用配置文件找到瓶颈\r\n\r\n第二十五章 使用Galiery和自己的AppWizard实现重用\r\n\r\n25.1 编写可重用代码的优点\r\n25.2 使用Component Gallery\r\n25.2.1 向Gallery中添加一个组件\r\n25.2.2 在用户项目中使用Gallery组件\r\n25.2.3 开发Gallery\r\n25.3 定制AppWizard简介\r\n25.4 小结\r\n\r\n第二十六章 异常和模板\r\n\r\n26.1 异常\r\n26.1.1 简单的异常处理\r\n26.1.2 异常对象\r\n26.1.3 catch块\r\n26.1.4 处理多种类型的异常\r\n26.1.5 旧的异常机制\r\n26.2 使用模板\r\n26.2.1 模板介绍\r\n26.2.2 创建函数模板\r\n26.2.3 创建类模板\r\n26.3 标准模板库\r\n26.3.1 管理指针模板:auto_ptr\r\n26.3.2 其他有用的STL模板\r\n26.4 名字空间\r\n26.4.1 定义一个名字空间\r\n26.4.2 名字空间范围确定\r\n26.4.3 未命名的名字空间\r\n26.4.4 名字空间别名\r\n\r\n第二十七章 Windwos 线程的多任务处理\r\n\r\n27.1 简单线程\r\n27.2 线程通信\r\n27.2.1 利用全局变量通信\r\n27.2.2 利用用户定义的消息通信\r\n27.2.3 利用事件对象\r\n27.3 通信使用线程同步\r\n27.3.1 使用临界区\r\n27.3.2 使用互斥\r\n27.3.3 使用信号量\r\n\r\n第二十八章 未来的开发方法\r\n\r\n28.1 创建控制台应用程序\r\n28.1.1 创建控制台可执行程序\r\n28.1.2 编写一个面向对象的控制台应用程序\r\n28.1.3 搭架起离散的算法\r\n28.2 创建并使用一个32位的动态链接库\r\n28.2.1 创建32位DLL\r\n28.2.2 使用32位DLL\r\n28.3 发送消息和命令\r\n28.4 软件的国际化发展趋势\r\n\r\n第七部分 附录\r\n\r\nA C++回顾和面向对象的概念\r\nB Windows 编程回顾以及CWnd内幕\r\nC Developer Studio的界面、菜单和工具栏\r\nD 调试\r\nE MFC宏和全局变量\r\nF 有用的类
无封面