微信扫一扫,移动浏览光盘

简介

正如本书的目录中所列出的那样,本书主要包括六大部分和附录。 第一部分:Windows、VisualC++和应用程序框架基础 在这部分中,既有理论阐述,又有实际应用,我力求使这两者达到一种平衡。在这部分中,我对Win32和Visual C++的基本组成作了一番评论,进而逐步将应用程序框架以及文档-视图结构(document——view architecture)展现在读者面前。同时,在这部分中还给出了一个通 过MFC类库中的类来构造的简单的“Hello,world!”程序,该程序只需30行代码。 第二部分:MFC库中的视图类 在假定读者已经熟悉使用基本

目录

前 言

第一部分 windows、visual c++和应用程序框架基础

第一章 microsoft windows和visual c++

1.1 windows的编程模式

1.1.1 消息处理

1.1.2 windows的图形设备接口(gdi)

1.1.3 基于资源的程序设计

1.1.4 内存管理

1.1.5 动态连接库(dll)

1.1.6 win32应用程序编程接口

1.2 visual c++的组成

1.2.1 microsoft developer studio 97和创建过程

1.2.2 资源编辑器——workspace resource view

1.2.3 c/c++编译器

1.2.4 资源编译器

1.2.5 连接器

1.2.6 调试器

1.2.7 appwizard

1.2.8 c1asswizard

1.2.9 源程序浏览器

. 1.2.10 联机帮助

1.2.11 windows诊断工具

1.2.12 源代码控制

1.2.13 gallery

1.2.14 microsoft基本类库4.21版

1.2.15 microsoft activex模板库

第二章 microsoft基本类库应用程序框架

2.1 为什么要使用应用程序框架

2.1.1 学习曲线

2.2 什么是应用程序框架

2.2.1 应用程序框架和mfc库

2.2.2 应用程序框架示例

2.3 mfc库消息映射

2.3.1 文档和视图

第二部分 mdc库中的视图类

第三章 从“hello,world!”着手学习appwizard

3.1 什么是视图

3.2 单文档界面(sdi)和多文档界面(mdi)

3.3 “不做任何事情”的应用程序

3.4 cex03aview视图类

3.5 在视窗内绘图——windows的图形设备接口

3.5.1 0ndraw成员函数

3.5.2 windows设备环境

3.5.3 往ek03a程序中加入绘制代码

3.6 资源编辑器简介

3.6.1 ex03a.rc的内容

3.6.2 运行对话框资源编辑器

3.7 win32 debug目标和win32 release目标

3.8 允许诊断宏

3.9 对预编译头文件的理解

3.10 两种方法运行程序

第四章 基本事件处理、映射模式和滚动视图

4.1 获取用户输入——消息映射函数

4.1.1 消息映射

4.1.2 保存视图的状态—类数据成员

4.1.3 初始化视图类数据成员

4.1.4 使矩形区域无效

4.1.5 windows的客户区域

4.1.6 crect,cpoint和csize类的运算

4.1.7 一个点是否在矩形内

4.1.8 crect的lprect操作符

4.1.9 一个点是否在椭圆内

4.2 ex04a示例程序

4.3 对ex04a使用classwizard

4.3.1 同时使用appwizard和classwizard

4.4 映射模式

4.4.1 mm_text映射模式

4.4.2 “固定比例”映射模式

4.4.3 “可变比例”映射模式

4.4.4 坐标变换

4.4.5 ex04b示例程序——转换到mm_himetric映射模式

4.5 滚动视窗

4.5.1 窗口比人们所见到的要大

4.5.2 滚动条

4.5.3 滚动方式的选择

4.5.4 oninitialupdate函数

4.5.5 接收键盘输入

4.5.6 ex04c滚动示例程序

4.6 其他windows消息

4.6.1 wm_create消息

4.6.2 wm_close消息

4.6.3 wm_queryendsession消息

4.6.4 wm_destroy消息

4.6.5 wm_ncdestroy消息

第五章 图形设备接口(gdi)、颜色及字体

5.1 设备环境类

5.1.1 显示设备环境类ccliendc和cwindowsdc

5.1.2 构造和析构cdc对象

5.1.3 设备环境的状态

5.1.4 cpaint dc类

5.2 gdi对象

5.2.1 gdi对象的构造与析构

5.2.2 跟踪gdi对象

5.2.3 库存的gdi对象

5.2.4 gdi选择的有效期

5.3 windows的颜色映射

5. 3.1 标准视频图形阵列(vga)显示卡

5.3.2 256色显示卡

5.3.3 16位颜色显示卡

5.3.424位颜色显示卡

5.4 字体

5.4.1 字体是gdi对象

5.4.2 选择字体

5.4.3 打印字体

5.4.4 显示字体

5.4.5 显示器的逻辑英寸和物理英寸

5.4.6 计算字符高度

5.5 ex05a示例程序

5.5.1 ex05a程序的组成元素

5.6 ex05b程序

5.6.1 ex05b程序的组成元素

5.7 ex05c示例程序——再次使用cscrollview

5.7.1 ex05c程序的组成元素

5.7.2 cscrollview的setscaletofitsize模式

5.7.3 在滚动视图中使用逻辑twips映射模式

第六章 模式对话框和windows通用控件

6.1 模式和无模式对话框

6.2 资源和控件

6.3 模式对话框的编程

6.4 包罗万象的对话框——ex06a示例程序

6.4.1 创建对话框资源

6.4.2 c1asswizard和对话框类

6.4.3 将对话框与视图相连接

6.4.4 深入理解ex06a应用程序

6.5 对话框程序的改进

6.5.1 获得onok退出控制

6.5.2 oncancel处理

6.5.3 和滚动条控件挂上钩

6.6 控件的标识:cwnd指针和控件id

6.7 设置对话框的背景色和其中控件的颜色

6.8 在对话框窗口内绘图

6.9 在运行时加入对话框控件

6.10 利用其他的控件特性

6.11 windows通用控件

6.11.1 进度指示器控件

6.11.2 滑杆条(trackbar)控件

6.11.3 微调按钮控件

6.11.4 列表控件

6.11.5 树状控件

6.11.6 wm_notify消息

6.12 ex06b示例程序

6.13 其他windows通用控件

第七章 无模式对话框和windows通用对话框类

7.1 无模式对话框

7.1.1 创建无模式对话框

7.1.2 用户定义的消息

7.1.3 对话框的归属

7.1.4 无模式对话框的例子——ex07a

7.2 crormview类——另外一种可供选择的无模式对话框

7.3 windows通用对话框

7.3.1 直接使用cfiledialog类

7.3.2 从通用对话框类进行派生

7.3.3 嵌套对话框

7.3.4 使用cfiledialog的一个例子——ex07b

7.3.5 cfiledialog的其他可定制特性

第八章 使用activex控件

8.1 activex控件和普通的windows控件

8.1.1 普通的windows控件——参考体系

8.1.2 activex控件与普通控件的相同点

8.1.3 activex控件与普通控件的不同点——属性和方法

8.2 安装activex控件

8.3 日历控件

8.4 activex控件包容器编程

8.4.1 属性访问

8.4.2 c1asswizard为activex控件产生的c++类

8.4.3 appwizard对activex控件的支持

8.4.4 c1asswizard和包容器对话框

8.4.5 对话框类数据成员和控件类的用法

8.4.6 映射activex控件事件

8.4.7 把activex控件锁定在内存里

8.5 ex08a示例程序——activex控件对话框包容器

8.6 activex控件在html文件中的使用

8.7 在运行时创建activex控件

8.8 ex08b示例程序——web浏览器activex控件

8.9 ex08c示例程序——一个完整的双窗口浏览器

8.10 图形属性

8.11 约束属性——改变通知

8.12 其他的activex控件

第九章 win32内存管理

9.1 进程和内存空间

9.1.1 windows 95进程地址空间

9.1.2 windows nt进程地址空间

9.2 虚拟内存如何工作

9.3 virtualalloc函数——占用和保留内存

9.4 windows堆和g1obalalloc函数族

9.5 小内存堆,c++的new和delete操作符,_heapmin

9.6 内存映射文件

9.7 访问资源

9.8 管理动态内存的一些提示

9.9 常量数据的优化存储

第十章 位图

10.1 gdi位图和与设备无关的位图

10,2 彩色位图和单色位图

10.3 使用gdi位图

10.3.1 从资源中装入gdi位图

10.3.2 显示映射模式的作用

10.3.3 对位进行伸缩处理

10.3.4 exl0a示例程序

10.4 利用位图改进屏幕显示

10.4. 1 exl0b示例程序

10.4.2 windows动画

10.5 dib和cdib类

10.5.1 关于调色板编程的术语

10.5.2 dib、象素和颜色表

10.5.3 bmp文件中dib的结构

10.5.4 dib访问函数

10.5.5 cdib类

10.5.6 dib显示性能

10.5.7 exl0c示例程序

10.6 进一步使用dib

10.6.1 loadimage函数

10.6.2 drawdibdraw函数

10.7 在按钮上设置位图

10.7.1 exl0d示例程序

10.7.2 进一步使用位图按钮

第十一章 windows消息处理和多线程编程

11.1 windows消息处理

11.1.1 单线程程序处理消息的过程

11.1.2 交出控制

11.1.3 计时器

11.1.4 ex11a示例程序

11.2 空状态处理

11.3 多线程编程

11.3.1 编写辅助线程函数和启动线程

11.3.2 主线程如何和辅助线程通话

11.3.3 辅助线程如何和主线程通话

11.3.4 ex11b示例程序

11.3.5 用事件使线程同步

11.3.6 exllc示例程序

11.3.7 线程阻塞

11.3.8 排斥区

11.3.9 互斥体(mutex)和信号(semaphore)

11.3.10 用户界面线程(ui线程)

第三部分 文档—视图结构

第十二章 菜单、键盘加速键、复文本编辑控件和属性表

12.1 主框架窗口和文档类

12.2 windows的菜单

12.3 键盘加速键

12.4 命令处理

12.4.1 派生类中的命令消息控制

12.4.2 更新命令用户界面消息控制函数

12.4.3 对话框发送的命令

12.5 应用程序框架的内含菜单项

12.6 菜单项的允许/禁用

12.7 mfc文本编辑选择

12.7.1 ceditview类

12.7.2 cricheditview类

12.7.3 cricheditctrl类

12.8 exl2a示例程序

12.9 属性表

12.9.1 创建属性表

12.9.2 属性表数据交换

12.10 改进exl2a示例程序

12.11 apply按钮的处理过程

12.12 cmenu类

12.13 创建浮动的弹出式菜单

12.14 扩展命令处理

第十三章 工具栏和状态栏

13.1 控制栏和应用程序框架

13.2 工具栏

13.2.1 工具栏位图

13.2.2 按钮的状态

13.2.3 工具栏和命令消息

13.2.4 工具栏更新命令ui消息控制函数

13.3 工具提示

13.4 寻找主框架窗口

13.5 exl3a工具栏示例程序

13.6 状态栏

13.6.1 状态栏的定义

13.6.2 信息行

13.6.3 状态指示器

13.6.4 获得对状态栏自

13.7 exl3b状态栏示例程序

第十四章 可重用框架窗口基类

14.1 为什么可重用基类难以设计

14.2 cpelsistentframe类

14.3 cframewnd类和activateframe成员函数

14.4 precreatewindow成员函数

14.5 window注册表

14.6 使用cstring类

14.7 最大化窗口的位置

14.8 控制栏状态和注册表

14.9 静态数据成员

14.10 默认窗口矩形

14.11 exl4a示例程序

14.12 mdi应用程序中的持续框架

第十五章 文档与视图的分离

15.1 文档—视图之间的相互作用函数

15.1.1 cview::getdocument函数

15.1.2 cdocumeat::updateviews函数

15.1.3 cview::onupdate函数

15.1.4 cview::0ninitialupdate函数

15.1.5 cdocument::0nnewdocument函数

15.2 最简单的文档—视图应用程序

15.3 cformview类

15.4 c0bject类

15.5 诊断信息转储

15.5.1 trace宏

15.5.2 afxdump对象

15.5.3 信息转储环境及cobject类

15.5.4 未被删除对象的自动信息转储

15.6 ex15a示例程序

15.7 更加高级的文档—视图之间的相互作用

15.8 cdocument::deletdontents函数

15.9 c0blist集合类
15.9.1 对先入先出列表使用c0blist类

15.9.2 在coblist中进行迭代——position变量

15.9.3 ctypedptrlist模板集合类

15.9.4 信息转储环境及集合类

15.10 ex15b示例程序

15.10.1 资源要求

15.10.2 代码要求

15.10.3 cstudentdoc

15.10.4 cstudentview

15.10.5 测试exl5b应用程序

15.11 留给读者的两个练习

第十六章 读和写文档———sdi应用程序

16.1 什么是序列化

16.1.1 磁盘文件和归档(archives)

16.1.2 使类可序列化

16.1.3 编写selldize函数

16.1.4 从归档中载入——内嵌对象和指针

16.1.5 使集合序列化

16.1.6 serialize函数和应用程序框架

16.2 sdi应用程序

16.2.1 windows应用程序对象

16.2.2 文档模板类

16.2.3 文档模板资源

16.2.4 sdi文档的多视图

16.2.5 创建空文档——cwinapp::onfilenew函数

16.2.6 文档类的onnewdocument函数

16.2.7 连接fi1eopen与序列化代码——onfileopen函数

16.2.8 文档类的deletecontents函数

16.2.9 将filesave和filesave as与序列化代码相连接

16.2.10 文档的“脏”标志

16.3 exl6a———序列化sdi示例程序

16.3.1 csudent

16.3.2 cex16aapp

16.3.3 cframewnd

16.3.4 cstudentdoc

16.3.5 cshdentview

16.3.6 测试exl6a应用程序

16.4 从explorer启动及拖放

16.4.1 程序注册

16.4.2 在文档上双击鼠标

16.4.3 允许拖放

16.4.4 程序启动参数

16.4.5 试验用explorer启动程序及拖放功能

第十七章 读和写文档———mdi应用程序

17.1 mdi应用程序

17.1.1 一个典型的具有mfc库风格的mdi应用程序

17.1.2 mdi应用程序对象

17.1.3 mdi文档模板类

17.1.4 mdi框架窗口和mdi子窗口

17.1.5 主框架和文档模板资源

17. 1.6 创建空文档——cwinapp::onfilenew函数

17.1.7 为现有文档创建新的视图

17. 1.8 载入和存储文档

17. 1.9 多文档模板

17. 1.10 explorer启动及拖放

17.2 exl7a示例程序

17. 2.1 cex17aapp

17.2.2 cmainframe

17. 2.3 cchildframe

17.2.4 测试ex17a应用程序

露十八章 打印和打印预览

18.1 windows的打印

18.1.1 标准打印对话框

18.1.2 交互选择打印页码

18.1.3 显示页和打印页

18.2 打印预览

18.3 有关打印机的程序设计

18.3.1 打印机设备环境和cviev::0ndraw函数

18.3.2 cview::0nprint函数

18.3.3 准备设备环境——cview::onpreparedc函数

18。3.4 打印任务的开始和结束

18.4 ex18a示例程序——一个所见即所得的打印程序

18.5 读取打印机矩形框

18.6 再看模板集合类——carray类

18.7 exl8b示例程序——多页打印程序

第十九章 切分窗口和多视图

19.1 切分窗口

19.2 多视图选择

19.3 动态和静态切分窗口

19.4 exl9a示例程序——具有单个视图类的sdi动态切分

19.4.1 与切分有关的资源

19.4.2 cmainframe

19.4.3 测试exl9a应用程序

19.5 exl9b示例程序——双视图类别i静态切分

19.5.1 chexview

19.5.2 cmainframe

19.5.3 测试账19b应用程序

19.6 exl9c示例程序——切换没有切分的视图类

19.6.1 资源要求

19.6.2 cmainframe

19.6.3 测试exl9c应用程序

19.7 exl9d示例程序——多视图类mdi应用程序

19.7.1 资源要求

19.7.2 cex19dapp

19.7.3 cmainframe

19.7.4 测试ex19d应用程序

第二十章 上下文相关帮助

20.1 windows的winhelp程序

20.1.1 复文本格式(rtf)

20.1.2 编写简单的帮助文件

20.1.3 改进的table of contents

20.2 应用程序框架与winhelp

20.2.1 调用widhelp

20.2.2 使用搜索字符串

20.2.3 从应用程序的菜单调用winhelp

20.2.4 帮助上下文别名

20.2.5 确定帮助上下文

20.2.6 f1帮助

20.2.7 shift—f1帮助

20.2.8 消息框帮助——afxmessagebox函数

20.2.9 一般的帮助

20.3 帮助示例——不需要任何编程

20.4 makehelp处理

20.5 帮助命令处理

20.5.1 f1处理过程

20.5.2 shift—f1处理过程

20.6 帮助命令处理示例程序——kk2ob

20.6.1 头文件要求

20.6.2 cstringview

20.6.3 chexview

20.6.4 资源要求

20.6.5 帮助文件要求

20.6.6 测试ex20b应用程序

第二十一章 动态连接库

21.1 基本dll理论

21.1.1 导入如何与导出相匹配

21.1.2 隐式连接和显式连接

21.1.3 符号连接和序号连接

21.1.4 dll入口点——dllmain

21.1.5 实例句柄——装载资源

21.1.6 客户程序如何找到dll

21.1.7 调试dll

21.2 mfc dll——扩展的和正规的

21.2.1 共享的mpc dll和windows dll

21.2.2 mfc扩展dll——导出类

21.2.3 mfc扩展dll资源搜索的顺序

21.2.4 ex21a示例程序——mfc扩展dll

21.2.5 ex21b示例程序——dll测试客户程序

21.2.6 mfc正规dll——cwinapp派生类

21.2.7 使用afx_manage_state宏

21.2.8 mpc正规dll资源搜索顺序

21.2.9 ex21c示例程序——mfc正规dll

21.2.10 修改ex21b示例程序——加入代码以测试

21.3 自定义控件dll

21.3.1 什么是自定义控件

21.3.2 自定义控件的窗口类

21.3.3 mfc库和wndproc函数

21.3.4 自定义控件通知消息

21.3.5 发送给控件的用户定义消息

21.3.6 ex21d示例程序——自定义控件

21.3.7 再修改ex21b示例程序——加入代码以测试

第二十二章 不带文档或视图类的mfc程序

22.1 ex22a示例程序——一个基于对话框的应用程序

22.1.1 应用程序类initinstance函数

22.1.2 对话框类和程序图标

22.2 ex22b示例——一个别i应用程序

22.2.1 应用程序类initinstance函数

22.2.2 cmainframe类

22.3 ex22c示例程序——一个mdi应用程序

22.3.1 应用类程序initinstance函数

22.3.2 cmainframe类

22.3.3 cchildframe类

22.3.4 资源要求

22. 4 定制(custom)appwizard

第四部分 activex:组件对象模型、自动

第二十三章 组件对象模型

23.1 activex技术背景

23.2 组件对象模型(com)

23.2.1 com所解决的问题

23.2.2 com的本质

23.2.3 什么是com接口

23.2.4 iunknown接口和queryinterface成员函数

23.2.5 引用计数:addref和release函数

23.2.6 类厂(c1assfactory)

23.2.7 ccmdtarget类

23.2.8 ex23a示例程序——一个模拟的com

23.3 mfc库中实际的com

23.3.1 com的cogetclassobject函数

23.3.2 com和windows注册表

23.3.3 运行时对象注册

23.3.4 com客户程序如何调用进程内组件

23.3.5 com客户程序如何调用进程外组件

23.3.6 mfc接口宏

23.3.7 mfc的co1dbjectfactory类

23.3.8 appwizard/c1asswizard对com进程内组件的支持

23.3.9 mfc com客户程序

23.3.10 ex23b示例程序——mfc com进程内组件

23.3.11 ex23c示例程序——mfc com客户

23.4 包容、集合和继承

第二十四章 自动化

24.1 c++与visual basic for applications(vba)之间的连接

24.2 自动化客户和自动化组件

24.3 microsoft excel———一种比visual basic还好的visualbasic

24.4 属性(property)、方法(method)和集合(collection)

24.5 自动化所解决的问题

24.6 idispatch接口

24.7 自动化程序设计的选择

24.8 mfc idispatch的实现

24.9 一个mfc自动化组件

24.10 一个mfc自动化客户程序

24.11 使用编译器#import指令的自动化客户程序

24.12 variant类型

24.13 c01evariant类

24.14 invoke的参数和返回值的类型转换

24.15 自动化示例

24.15.1 ex24a自动化组件exe示例——不带任何用户界面

24.15.2 ek24b自动化组件dll示例程序

24.15.3 ex24c sdi自动化组件exe示例——带用户界面

24.15.4 ex24d自动化客户示例程序

24.15.5 ex24e自动化客户示例程序

24.16 vba早绑定

24.16.1 注册类型库

24.16.2 组件如何注册自己的类型库

24.16.3 odl文件

24.16.4 excel如何使用类型库

24.16.5 为什么使用早绑定

24.16.6 客户—组件的快速连接

第二十五章 统一数据传输——剪贴板传输以及oi及拖放

25.1 idataobject接口

25.2 idataobject如何增强标准剪贴板的支持

25.3 formatetc和stgmedium结构

25.3.1 formatetc

25.3.2 stgmedium

25.3.3 idataobject接口成员函数

25.4 mfc统一数据传输支持

25.4.1 c01edahlsource类

25.4.2 c0leabobject类

25.4.3 mfc数据对象剪贴板传输

25.5 mfc crecttracker类

25.5.1 crecttracker类成员函数

25.5.2 crecttracker类矩形坐标转换

25.6 ex25a示例程序——数据对象剪贴板

25.6.1 cmainframe类

25.6.2 cex25adoc类

25.6.3 cex25aview类

25.7 mfc拖放

25.7.1 传输的源方

25.7.2 传输的目标方

25.7.3 拖放的顺序

25.8 ex25b示例程序——ole拖放

25.8.1 cex25bdoc类

25.8.2 cex25view类

25.9 windows应用程序和拖放——dobjview

第二十六章 结构化存储

26.1 复合文件

26.2 存储(storage)和istorage接口

26.2.1 获取istorage指针

26.2.2 释放statstg内存

26.2.3 对存储对象的元素进行枚举

26.2.4 进程间共享存储

26.3 流(stream)和istream接口

26.3.1 istream接口成员函数

26.3.2 istream编程

26.4 ilockbytes接口

26.5 ex26a示例程序——结构化存储

26.5.1 菜单

26.5.2 cex26view类

26.5.3 辅助线程

26.6 结构化存储和持久com对象

26.6.1 ipersiststorage接口

26.6.2 ipersisdstream接口

26.6.3 ipersiststream编程

26.7 ex26b示例程序——一个持久dll组件

26.8 ex26c示例程序——一个持久存储客户程序

26.9 复合文件碎片的处理

26.10 复合文件的其他优点

第二十七章 ole嵌入组件和包容器

27.1 嵌入和实地激活(可视编辑)

27.2 最小服务器和完备服务器(组件)——链接

27.3 可视编辑前景暗淡的一面

27.4 windows图元文件和内线对象

27.5 组件程序的mfc 0le结构

27.6 ex27a示例程序——mfc实地激活最小服务器

27.6.1 mdi嵌入组件

27.6.2 实地组件调整大小的思路

27.7 包容器—组件相互作用

27.7.1 使用组件的ioleobject接口

27.7.2 装入和保存组件自身的数据——组件文档

27.7.3 剪贴板数据传输

27.7.4 获得组件的图元文件

27.7.5 进程内控制器的角色

27.8 组件状态

27.8.1 包容器接口

27.8.2 通报连接

27.8.3 剪贴板图元文件

27.9 接口简要说明

27.9.1 ioleobject接口

27.9.2 iviewobject2接口

27.9.3 i01ecliehtsite接口

27.9.4 iadvisesink接口

27.10 0le辅助函数

27.11 0le嵌入包容器应用程序

27.11.1 mfc对lee包容器的支持

27.11.2 一些包容器限制

27.11.3 包容器特性

27.12 ex27b示例程序——嵌入包容器

27.12.1 cex27bview类

27.12.2 cex27bdoc类

27.13 ex27c示例程序——0le嵌入组件

27.13.1 cex27cview类

27.13.2 cex27cddc类

第五部分 数据库管理

第二十八章 microsoft 0dbc数据库管理

28.1 数据库管理的优势

28.2 结构化查询语言

28.3 0dbc标准

28.3.1 0dbc结构

28.3.2 odbc sdk编程

28.4 mfc odbc类——crecodset和cdah加以

28.4.1 记录集中关于行的计数

28.4.2 处理0dbc异常

28.5 学生注册数据库

28.6 ex28a记录集示例程序

28.7 ex28a示例程序中的元素

28.7.1 记录集类与应用程序之间的连接

28.7.2 cex28aview类的0nintialupdate成员函数

28.7.3 cex28aview类的ondraw成员函数

28.8 筛选器和排序字符串

28.9 连接两个数据库表

28.10 mfc crecordview类

28.11 ex28b记录查看示例程序

28.12 多记录集

28.12.1 ex28c多记录集示例程序

28.12.2 参数化查询

28.13 odbc多线程

28.14 大批行数据获取(bulk fetch)

28.15 使用不带绑定的记录集

第二十九章 microsoft data acces objects数据库管理

29.1 da0、com和microsoft数据库引擎

29.2 da0和vba

29.3 dao和mfc

29.4 利用da0可以打开什么样的数据库

29.5 按odbc模式使用dao———快照和动态集

29.6 dao表类型记录集

29.7 daoquerydef和tabledef

29.8 dao多线程情况

29.9 在滚动窗口中显示数据库的行

29.9.1 滚动显示方法

29.9.2 一个行—视图类

29.9.3 基类和派生类的分工处理

29.9.4 crowview的纯虚成员函数

29.9.5 其他的crowview函数

29.10 动态记录集的编程

29.11 ex29a示例程序

29.11.1 cex29aapp

29.11.2 cmainframe和cchildframe

29.11.3 cex29adoc

29.11.4 cex29aview

29.11.5 ctableselect

29.11.6 cisamselect

29.12 ex29a资源文件

29.13 运行ex29a程序

第六部分 internet程序设计

第三十章 tcp/ip、winsock和wininet

30.1 既针对com也可以不需要com

30.2 internet基础

30.2.1 网络协议——层

30. 2.2 internet协议

30. 2.3 用户报文协议

30.2.4 ip地址格式——网络字节顺序

30.2.5 传输控制协议

30.2.6 域名系统(domain name system)

30.2.7 http基础

30.2.8 ftp基础

30.2.9 internet和intranet

30.3 建立自己的价值$99的intranet

30.3.1 nt文件系统和文件分配表

30.3.2 网络硬件

30.3.3 对windows进行网络配置

30.3.4 intranet的主机名——hosts文件

30.3.5 测试intranet—ping程序

30.3.6 只有一台计算机的intranet—tcp/ip环形地址

30.4 winsock

30.4.1 同步和异步winsock编程

30.4.2 mfc winsock类

30.4.3 blocking socket类

30.4.4 一个简化了的http服务器程序

30.4.5 一个简化了的http客户端程序

30.5 用chttpblockingsocket创建一个web服务器程序

30.5.1 ex30a服务器限制

30.5.2 ex30a服务器结构

30.5.3 使用win32transmitfile函数

30.5.4 编译和测试ex30a

30.5.5 使用telnet

31.4.1 第一步——获取定单

31.4.2 第二步——处理确认窗体

31.4.3 编译并测试ex3la.dl1

31.4.4 调试ex31a dll

31.5 isapi数据库访问

31.6 使用http cookie来连接事务

31.6.1 cookie如何工作

31.6.2 isapi服务器扩展如何处理cookie

31.6.3 使用cookie的一些问题

31.7 www鉴定

31.7.1 基本鉴定

31.7.2 windows nt问讯/应答鉴定

31.7.3 安全套接字层(ssl)

31.8 isapi过滤器

31.8.1 编写isapi过滤器dll

31.8.2 mfc isapi过滤器类

31.9 isapi过滤器示例——exlb.dh、e61c.exe

31.9.1 选择通知

31.9.2 把事务数据发送到显示程序

31.9.3 显示程序

31.9.4 编译并测试ex3lb isapi过滤器

第三十二章 activex文档服务器和internet

32.1 activex文档理论

32.1.1 activex文档服务器和ole嵌入服务器

32.1.2 从ie3中运行activex文档服务器

32.1.3 actiex文档服务器和achvex控件

32.1.4 activex文档服务器和包容器的0m接口

32.1.5 mfc对activex文档服务器的支持

32.2 activex文档服务器示例程序d(32a

32.2.1 ex32a第一阶段——简单的服务器

32.2.2 调试activex文档服务器

32.2.3 ex32a第二阶段——加入wininet调用

32.3 activex文档服务器示例程序ex32b

32.3.1 在程序控制下产生post请求

32.3.2 ex32b视图类

32.3.3 编译并测试ex32b

32.3.4 activex文档服务器和vbscript

32.4 进一步使用activex文档服务器

附录a microsoft基本类(mdc)库中的消息映射函数

附录b mfc库运行时类识型和动态对象创建


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Inside Visual C++
    • 名称
    • 类型
    • 大小

    联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    亲爱的云图用户,
    光盘内的文件都可以直接点击浏览哦

    无需下载,可直接在线浏览

    loading icon