第1章 Visual C++集成开发环境 1
1.1 Visual C++概述 2
1.2 项目和项目工作区 2
1.2.1 Visual C++项目 2
1.2.2 工作区窗口 3
1.3 编辑器 6
1.4 菜单栏和工具栏 8
习题 19
第2章 C++语言基础 20
2.1 C++概述 21
2.2 程序设计基础 23
2.2.1 C++基本要素 23
2.2.2 数据类型 25
2.2.3 运算符 36
2.2.4 表达式 40
2.2.5 语句 41
2.2.6 函数 55
习题 60
第1章 Visual C++集成开发环境 1
1.1 Visual C++概述 2
1.2 项目和项目工作区 2
1.2.1 Visual C++项目 2
1.2.2 工作区窗口 3
1.3 编辑器 6
1.4 菜单栏和工具栏 8
习题 19
第2章 C++语言基础 20
2.1 C++概述 21
2.2 程序设计基础 23
2.2.1 C++基本要素 23
2.2.2 数据类型 25
2.2.3 运算符 36
2.2.4 表达式 40
2.2.5 语句 41
2.2.6 函数 55
习题 60
第3章 面向对象程序设计 61
3.1 类和对象 62
3.1.1 深入理解类的概念 62
3.1.2 类的定义 62
3.1.3 类的实例化——对象 63
3.1.4 类成员的访问 63
3.1.5 类成员的保护 63
3.1.6 构造函数 64
3.1.7 析构函数 66
3.1.8 this指针 68
3.2 类的继承 69
3.2.1 单一继承 69
3.2.2 多重继承 71
3.2.3 虚继承 73
3.3 类的高级方法 76
3.3.1 内联方法 76
3.3.2 静态数据成员和静态方法 76
3.3.3 友元类和友元函数 78
3.3.4 const方法 79
3.3.5 运算符重载 80
3.4 类模板 83
3.4.1 类模板的定义及应用 83
3.4.2 定义类模板的静态数据成员 87
3.5 异常处理 89
3.5.1 异常捕捉语句 89
3.5.2 抛出异常 90
习题 92
第4章 创建应用程序框架 93
4.1 应用程序向导 94
4.1.1 Visual C++中的向导类型 94
4.1.2 使用应用程序向导 95
4.2 应用程序向导生成的文件 98
4.2.1 文件类型 98
4.2.2 典型文件举例 99
4.3 ClassWizard类向导 100
4.3.1 ClassWizard的功能 100
4.3.2 ClassWizard的简单应用 101
4.3.3 为项目添加新类 102
4.3.4 手工添加消息处理函数 103
4.4 程序调试 104
4.4.1 断点跟踪 104
4.4.2 调试窗口 111
习题 115
第5章 MFC简介与函数 116
5.1 MFC概述 117
5.2 MFC类库层次 117
5.3 MFC常用数据类型 119
5.4 MFC全局函数 119
5.5 开发MFC应用程序 123
习题 125
第6章 文档与视图 126
6.1 文档/视图结构应用程序 127
6.2 菜单设计 129
6.2.1 菜单资源的设计 129
6.2.2 菜单的命令处理 131
6.2.3 菜单的主要方法 132
6.2.4 创建菜单 135
6.2.5 动态创建菜单 136
6.3 工具栏设计 138
6.3.1 工具栏资源设计 138
6.3.2 工具栏按钮的命令处理 139
6.3.3 工具栏的主要方法 140
6.3.4 动态创建工具栏 142
6.4 状态栏设计 143
6.4.1 状态栏的主要方法 143
6.4.2 动态创建状态栏 145
6.5 视图窗口应用 146
6.5.1 动态创建视图窗口 146
6.5.2 在视图窗口中显示网页 148
习题 150
第7章 对话框 151
7.1 对话框概述 152
7.2 使用对话框 152
7.2.1 对话框资源设计 152
7.2.2 对话框的属性设置 156
7.2.3 对话框常用方法 159
7.2.4 对话框数据交换与验证 161
7.3 消息对话框 164
7.4 通用对话框 165
7.4.1 文件对话框 165
7.4.2 查找/替换对话框 168
7.4.3 字体对话框 170
7.4.4 颜色对话框 173
7.4.5 打印对话框 175
7.4.6 打印对话框 179
习题 181
第8章 控件 182
8.1 静态文本控件(Static Text) 183
8.1.1 静态文本控件概述 183
8.1.2 静态文本控件的主要属性 183
8.1.3 静态文本控件的主要方法、事件 184
8.1.4 静态文本控件的应用 185
8.2 编辑框控件(Edit Box) 186
8.2.1 编辑框控件的主要属性 186
8.2.2 编辑框控件主要方法、事件 187
8.2.3 编辑框控件的应用 190
8.3 按钮控件(Button) 191
8.3.1 按钮控件的主要属性 191
8.3.2 按钮控件主要方法、事件 192
8.3.3 按钮控件应用 194
8.4 列表框控件(List Box) 195
8.4.1 列表框控件的主要属性 195
8.4.2 列表框控件主要方法、事件 196
8.4.3 列表框控件应用 198
8.5 组合框控件(Combo Box) 199
8.5.1 组合框控件的主要属性 199
8.5.2 组合框控件主要方法、事件 199
8.5.3 组合框控件应用 201
8.6 列表视图控件(List Control) 203
8.6.1 列表视图控件的主要属性 203
8.6.2 列表视图控件主要方法、事件 203
8.6.3 列表视图控件应用 207
8.7 树视图控件(Tree Control) 211
8.7.1 树视图控件的主要属性 211
8.7.2 树视图控件主要方法、事件 212
8.7.3 树视图控件应用 216
习题 217
第9章 文本和图形处理技术 218
9.1 GDI概述 219
9.2 设备上下文介绍 219
9.3 GDI对象 220
9.4 文本输出 232
9.4.1 使用TextOut方法在指定位置输出文本 232
9.4.2 使用ExtTextOut方法在指定区域输出文本 233
9.4.3 使用TabbedTextOut方法根据制表位输出文本 234
9.4.4 使用DrawText方法格式化输出文本 235
9.4.5 设置文本背景颜色 236
9.5 绘制图形 237
9.5.1 利用点线绘制多边形 237
9.5.2 如何快速地绘制图形 239
9.5.3 如何填充指定的区域 241
9.5.4 绘制不规则图形 242
9.6 绘制图像 243
9.6.1 设备相关和设备无关位图 243
9.6.2 在视图中绘制位图 244
9.6.3 在界面中实现位图变换 245
9.6.4 从磁盘中加载图像到窗口中 247
9.6.5 显示JPEG图像 249
习题 250
第10章 DLL 251
10.1 DLL简介 252
10.2 创建动态链接库 252
10.3 链接库的导出 254
10.3.1 动态链接库的命名改编 254
10.3.2 使用dumpbin工具查看链接库 255
10.3.3 使用DEF文件导出函数名称 256
10.3.4 隐式调用与动态加载 256
10.3.5 从动态链接库中导出类 258
10.4 MFC动态链接库 261
10.4.1 模块状态 264
10.4.2 资源动态链接库 265
习题 270
第11章 网络编程 271
11.1 网络编程基础 272
11.1.1 计算机网络的定义、功能及分类 272
11.1.2 OSI参考模型 273
11.1.3 IP地址 273
11.1.4 地址解析 274
11.1.5 域名系统 275
11.1.6 TCP/IP协议族 275
11.1.7 端口 277
11.2 Windows套接字技术 277
11.2.1 套接字概述 277
11.2.2 套接字相关函数 277
11.2.3 使用套接字函数设计网络聊天室 282
11.2.4 MFC对套接字的封装 286
习题 294
第12章 综合实训 295
12.1 实训1 Visual C++集成开发环境应用 295
12.1.1 实训目的 295
12.1.2 实训内容 295
12.1.3 实训步骤 296
12.2 实训2 C++语言基础 301
12.2.1 实训目的 301
12.2.2 实训内容 301
12.2.3 实训步骤 301
12.3 实训3 面向对象程序设计 303
12.3.1 实训目的 303
12.3.2 实训内容 303
12.3.3 实训步骤 303
12.4 实训4 创建应用程序框架 304
12.4.1 实训目的 304
12.4.2 实训内容 304
12.4.3 实训步骤 305
12.5 实训5 MFC简介与函数 306
12.5.1 实训目的 306
12.5.2 实训内容 306
12.5.3 实训步骤 306
12.6 实训6 文档与视图应用 307
12.6.1 实训目的 307
12.6.2 实训内容 307
12.6.3 实训步骤 307
12.7 实训7 对话框的应用 308
12.7.1 实训目的 308
12.7.2 实训内容 309
12.7.3 实训步骤 309
12.8 实训8 控件的应用 310
12.8.1 实训目的 310
12.8.2 实训内容 310
12.8.3 实训步骤 311
12.9 实训9 文字和图形处理技术 313
12.9.1 实训目的 313
12.9.2 实训内容 313
12.9.3 实训步骤 314
12.10 实训10 DLL应用 316
12.10.1 实训目的 316
12.10.2 实训内容 316
12.10.3 实训步骤 316
12.11 实训11 网络编程 317
12.11.1 实训目的 317
12.11.2 实训内容 318
12.11.3 实训步骤 318