1.1认识Visual Studio.NET 2003 开发环境 1
目 录 1
16.3.2 MFC 中支持套接字编程的类 25 1
第1章Visual C++.NET2003概述 1
1.2 Visual C++.NET 2003 开发环境 5
1.3托管C++ 7
1.3.1什么是托管C++ 7
1.3.2托管C++与标准C++的主要区别 8
1.4 .NET框架 9
1.4.1 .NET框架基础 9
1.4.2公共语言运行库CLR 10
1.4.3框架类库 10
一、选择题 11
小结 11
综合练习一 11
1.4.4.NET框架与COM 11
二、填空题 12
三、思考题 12
四、上机题 12
第2章VisualC++.NET2003入门 13
2.1在Visual C++.NET 2003环境下 13
编写第一个程序 13
2.1.1创建—个新项目 13
2.1.2理解创建的新项目 14
2.1.3编译和运行 15
2.1.4使用控制台应用程序编写普通 16
C++程序 16
2.2调试程序 17
9.1 MFC基础 1 17
2.2.1更正编译期间的错误 17
2.2.2加入断点 18
2.2.4 监视与更改变量的值 19
2.2.3步进执行代码 19
小结 20
综合练习二 20
一、选择题 20
二、填空题 21
三、思考题 21
四、上机题 21
3.1.3变量 22
第3章Visual C++.NET2003语言基础 22
3.1.1标识符 22
3.1.2关键字 22
3.1标识符、变量和常量 22
3.1.4常量 23
3.2数据类型 23
3.2.1基本数据类型 24
3.2.2数组和集合 25
3.2.3指针 26
3.2.4字符串 27
小结 1 28
3.2.5自定义数据类型 28
3.2.6类型转换 30
3.3.1赋值运算符 31
3.3.2算术运算符和取模运算符 31
3.3 运算符 31
3.3.3关系运算符 32
3.3.4逻辑运算符 33
3.3.5位运算符 33
3.3.6条件运算符 34
3.3.7 sizeof运算符 34
3.3.8 运算符优先级和结合性 34
3.4控制语句 35
3.4.1表达式语句和块语句 35
3.4.2选择语句 35
3.4.3循环语句 38
3.4.4转移语句 39
3.5.2定义函数体 40
3.5.1定义函数原型 40
3.5函数 40
3.5.3函数调用 40
小结 42
二、填空题 42
综合练习三 42
一、选择题 42
三、思考题 43
四、上机题 43
第4章面向对象程序设计 44
4.1面向对象编程基础 44
4.1.1什么是面向对象编程 44
4.1.2 面向对象编程语言的三个特性 44
4.2类和对象 46
4.2.1类和对象的基本概念 46
4.2.2创建一个类 47
4.2.3创建对象 52
4.2.4构造函数和析构函数 53
4.2.5类范围成员 55
4.2.6友元 56
4.3控制对象的生存期 56
4.3.1传统的C++内存管理 56
4.3.2.NET中的内存管理方法 58
4.4继承 61
4.4.1继承的概念 61
4.4.2 定义一个派生类 62
4.4.3使用派生类 63
4.5多态性 64
4.5.1虚函数 64
4.5.2 纯虚函数 65
4.6重载 67
4.6.1函数重载 67
4.6.2传统C++的运算符重载 68
4.6.3托管类中的重载运算符 69
综合练习四 69
一、选择题 69
小结 69
二、填空题 70
三、思考题 70
四、上机题 70
5.1.2引用类型 71
5.1.1值类型 71
第5章值类型与引用类型 71
5.1值类型与引用类型的概念 71
5.1.3值类型与引用类型的区别 72
5.2结构体 72
5.2.1创建结构体 72
5.2.2 结构体的构造函数 74
5.3.1创建枚举 75
5.3枚举 75
5.2.3结构体与类 75
5.3.2使用枚举 76
综合练习五 76
一、选择题 76
小结 76
二、填空题 77
三、思考题 77
四、上机题 77
第6章VisualC+4.NET2003中面向对象 78
6.1.1 CLS所支持的运算符函数 78
编程的新特性 78
6.1托管类型的运算符重载 78
6.1.2重载引用类型 79
四、上机题 1 80
6.1.3重载值类型 80
6.2.1.NET 中属性的新用法 82
6.2属性 82
6.2.2标量属性 83
6.2.3索引属性 85
一、选择题 89
小结 89
综合练习六 89
三、思考题 90
四、上机题 90
二、填空题 90
第7章Visual C++.NET 2003的异常处理 91
7.1什么是异常 91
7.1.1异常处理的类型 91
7.1.2异常的工作方式 91
7.2异常处理 92
7.2.1引发异常 92
7.2.2 try与catch语句 94
7.2.3异常层次结构 96
7.2.4构造函数引发的异常 99
7.2.5 finally块 100
7.3 自定义异常类型 101
一、选择题 102
综合练习七 102
小结 102
二、填空题 103
三、思考题 103
四、上机题 103
第8章委托和事件 105
8.1委托 105
8.1.1委托简介 105
8.1.2定义和使用委托 106
8.2事件 110
8.2.1事件简介 110
8.2.3实现事件接收器类 112
8.2.2实现事件源类 112
8.2.4使用事件源和事件接收器 114
小结 115
8.2.5实现事件方法 115
综合练习八 116
一、选择题 116
二、填空题 116
三、思考题 116
四、上机题 116
第9章创建第一个MFC应用程序 117
9.1.1什么是MFC 117
9.1.2 CObject类 118
9.1.4图形处理类 119
9.1.3应用程序框架类及窗口类 119
9.1.7 OLE类 120
9.1.6调试和异常处理类 120
9.1.5文件服务类 120
9.1.8数据库类 121
9.2编写一个基于文档的MFC应用程序 122
9.2.1建立程序框架 122
9.2.2在窗口输出文字 124
一、选择题 129
四、上机题 129
三、思考题 129
综合练习九 129
二、填空题 129
第10章文档/视图与SDI 130
10.2 SDI程序结构 130
10.1文档/视图结构 130
10.3 CWinApp类 131
10.3.1 InitInstance函数 132
10.3.3 ExitInstance函数 133
10.4 CDocument类 133
10.4.1常用重载函数 133
10.3.2 Run函数与OnIdle函数 133
10.4.2与视图的交互 134
10.4.3使用集合类存储复杂数据 135
10.5 CView类 135
1 0.5.1 GetDocument函数与 135
OnDraw函数 135
10.5.2 MFC应用程序对象之间的关系 136
10.6文件的存储与读取 137
10.6.1使用CFile类 137
10.6.2 CArchive类与串行化 140
10.7一个文档/视图结构示例程序 143
小结 149
综合练习十 149
一、选择题 149
二、填空题 150
三、思考题 150
四、上机题 150
11.1.2控件通知 151
1 1.2发送和接收消息 151
11.1.3命令消息 151
11.1.1标准Windows消息 151
11.1消息的基本概念 151
第11章消息与输入 151
11.3鼠标输入 153
11.3.2记录鼠标单击位置 153
11.3.1常用鼠标消息 153
11.3.3捕获鼠标 156
11.4键盘输入 158
1 1.4.1常用键盘消息 158
1 1.4.2读取键盘输入 159
1 1.4.3记录和显示输入字符 160
二、填空题 161
三、思考题 161
一、选择题 161
综合练习十一 161
小结 161
四、上机题 162
第12章用MFC开发对话框 163
12.1新建一个对话框 163
12.2使用工具箱 165
12.2.1 CButton类 166
12.2.2 CEdit类 168
12.2.3 CListBox类 169
12.2.4 CComboBox类 170
12.2.5 CTreeCtrl类 171
12.2.6 CListCtrl类 174
12.2.7修改控件运行时的属性 175
12.3实例演示 176
综合练习十二 179
小结 179
一、选择题 179
三、思考题 180
二、填空题 180
13.1.1定义菜单 181
第13章菜单、工具栏和状态栏 181
13.1菜单 181
13.1.2为菜单建立处理函数 183
13.1.3添加子菜单 184
13.1.4组合菜单处理程序 185
13.1.5加速键 185
1 3.2 工具栏 186
13.2.1初始化和创建一个工具栏 187
13.2.2使用工具栏资源编辑器 191
13.23添加非图标控件 192
13.2.4使用ReBar控件 193
13.3状态栏 194
1 3.3.1创建状态栏 194
13.3.2添加文本窗格 196
13.3.3在对话框上放置状态栏 198
小结 200
综合练习十三 200
一、选择题 200
二、填空题 200
三、思考题 201
四、上机题 201
第14章图形设备界面编程 202
14.1图形设备界面基础 202
14.1.1什么是图形设备界面 202
14.2设备上下文 203
14.2.1什么是设备上下文 203
14.1.2图形设备界面的设备类型 203
14.2.2 DC绘图属性 204
14.2.3 WM_PAINT消息 204
14.2.4触发WM_PAINT 205
14.2.5相关其他消息 207
14.3文本和字体 207
14.3.1文本处理 207
14.3.2 字体处理 210
14.4绘制几何图形 213
14.4.1使用画笔和画刷 213
14.4.2绘制直线 216
14.4.3绘制矩形 217
14.4.4绘制圆形 218
14.5实现一个简单的绘图程序 218
14.5.1建立菜单项 218
14.5.2利用鼠标绘制图形 220
14.5.3在拖曳鼠标时显示图形 222
14.5.4更改鼠标光标 224
14.5.5重绘视图 225
小结 229
综合练习十四 230
一、选择题 230
二、填空题 230
三、思考题 230
四、上机题 230
第15章数据库编程 231
15.1开放式数据库连接(ODBC) 231
15.1.1 ODBC体系结构 231
15.1.2创建ODBC数据源 232
15.2 MFC数据库类 234
15.2.1 CDatabase类 234
15.2.2 CRecordset类 235
15.2.3 CRecordView类 238
15.3使用ODBC编程示例 239
15.3.1使用MFC应用程序向导建立 239
数据库应用程序 239
15.3.2编辑应用程序 240
小结 245
综合练习十五 245
一、选择题 245
二、填空题 246
三、思考题 246
四、上机题 246
16.2套接字 247
16.1 Windows Sockets规范 247
第16章网络编程 247
16.2.1流式套接字 248
16.2.2数据文报套接字 248
16.2.3端口与地址 249
16.2.4套接口属性 249
16.3 Wmdows Sockets网络编程原理 250
16.3.1套接口编程原理 250
16.3.3 CSocket编程模型 252
16.4一个网络通信的实例 255
16.4.1服务器端应用程序设计 255
16.4.2客户端应用程序设计 259
16.4.3应用程序的运行 261
四、上机题 262
三、思考题 262
二、填空题 262
一、选择题 262
综合练习十六 262
小结 262
第17章Windows窗体 263
17.1什么是Windows窗体 263
17.1.1 Windows窗体简介 263
17.1.2 Windows窗体与MFC 263
17.2 System::Windows::Forms命名空间 264
17.2.1 System::Windows::Forms命名 264
空间的分类 264
17.2.2 System::Windows::Forms命名 264
空间的主要成员 264
17.3创建应用程序 265
17.3.1创建一个简单窗体 266
17.3.2改变窗体外观 267
17.3.3窗体的常用属性 269
17.3.4窗体的常用方法 269
17.4标签 270
1 7.4.1标签的常用属性 270
17.4.2为窗体添加标签 270
17.5按钮 273
17.5.1按钮的常用属性 273
17.5.2为窗体添加按钮 273
17.6分组框 275
17.6.1分组框控件 275
17.6.2添加分组框 275
17.7文本框 277
17.7.1文本框的常用属性 277
17.7.2文本框的常用方法 277
17.7.3添加文本框 278
17.8列表框 280
17.8.1 列表框的常用属性 280
17.8.2列表框的常用方法 280
17.8.3添加列表框 281
17.9组合框 282
17.9.1组合框的常用属性 282
17.9.2组合框的常用方法 283
17.9.3添加组合框 283
17.10菜单 . 284
17.10.1添加菜单 284
17.10.2添加右键菜单 287
17.1 1 Windows窗体应用程序 288
17.11.1创建窗体 288
17.11.2添加控件 289
17.12关于窗体应用程序的讨论 299
小结 300
综合练习十七 301
一、选择题 301
二、填空题 301
三、思考题 301
四、上机题 301
第18章在.NET框架下开发对话框 302
1 8.1创建对话框 302
18.1.1编写程序 302
18.1.2 Tab次序 305
1 8.2对话框与用户的数据交流 305
18.2.1添加按钮的处理函数 305
18.3.1 Forms的通用对话框 311
18.3.2如何调用通用对话框 311
18.3使用通用对话框 311
1 8.2.2将处理函数绑定到按钮事件 311
小结 313
综合练习十八 313
一、选择题 313
二、填空题 313
三、思考题 313
四、上机题 313
第19章其他控件 314
19.1主要控件 314
19.2 DateTimePicker控件 315
19.2.1介绍DateTimePicker控件 315
19.2.2使用DateTimePicker控件 316
19.3 LinkLabel控件 324
19.3.1介绍LinkLabel控件 324
19.3.2使用LinkLabel控件 325
小结 327
综合练习十九 327
一、选择题 327
二、填空题 327
三、思考题 327
四、上机题 327
第20章图形输出 328
20.1 GDI+图形 328
20.1.1准备工作 328
20.1.2绘制线条 329
20.1.3输出字符串 330
20.1.4.使用画刷填充图形 331
20.2图像处理 332
20.2.1图像的显示 332
20.2.2剪切和缩放图像 333
的质量 334
20.2.3旋转、反射和扭曲图像 334
20.2.4改变插值模式以控制图像缩放 334
20.2.5使用CachedBitmap提高性能 335
小结 336
综合练习二十 336
一、选择题 336
二、填空题 336
三、思考题 336
四、上机题 336
第21章文件处理 337
21.1 System::IO命名空间 337
21.2文本文件的读写 337
21.2.1 FileStream类 338
21.2.2编写器的使用 339
21.2.3阅读器的使用 340
21.3.2阅读器BinaryReader类 342
21.3二进制文件的读写 342
21.3.1编写器BinaryWriter类 342
21.4 File类及对文件的相关操作 344
小结 345
综合练习二十一 345
一、选择题 345
二、填空题 346
三、思考题 346
四、上机题 346
第22章Web服务和Sockets编程 347
22.1什么是Web服务 347
22.1.1 Web服务简介 347
22.1.2 Web服务体系结构 347
22.2创建和使用Web服务 350
22.2.1创建Web服务 351
22.2.2使用Web服务 354
22.3 System::Net::Sockets命名空间 355
22.4设计一个新邮件检查器 355
22.4.1 POP3协议工作原理 355
22.4.2代码实现新邮件检查器 356
小结 363
综合练习二十二 363
一、选择题 363
二、填空题 364
三、思考题 364
四、上机题 364
23.2系统架构 365
23.2.1系统模块划分 365
23.1服装管理系统简介 365
第23章综合实例 365
23.2.2系统使用流程说明 367
23.3系统功能及实现 367
23.3.1用户登录 367
23.3.2用户账号管理 370
23.3.3资料查询 374
23.3.4插入资料 387
23.3.5修改资料 397
23.3.6显示资料 404
23.3.7资料统计 415
23.3.8打印资料 422
23.3.9导入/导出数据库 430
23.3.10 日志查看 434
小结 437
附录A Microsoft C++的关键字 438
参考答案 439