1 Visual C++开发环境 1
1.1工作平台概述 1
目录 1
1.2菜单栏 2
1.2.1 File菜单 2
1.2.2 Edit菜单 2
1.2.3 View菜单 3
1.2.4 Insert菜单 3
1.2.5 Proiect菜单 4
1.2.6 Build菜单 4
1.2.7Tools菜单 5
1.2.8 Windows菜单 5
1.3工具栏 5
1.3.1工具栏的显示与隐藏 6
1.4.1项目基本概念 7
1.4项目和项目工作区 7
1.4.2 Class View 8
1.4.3 Resource View 8
1.4.4 File View 9
1.5 资源 9
1.5.1资源与资源标识 9
1.5.2资源基本操作 10
1.5.3资源文件的管理 11
1.6开发环境的初步实践 12
1.6.1用AppWizard创建 12
1.6.2理解程序框架 13
1.6.3添加程序代码 14
1.6.4编译运行 14
习题一 15
2.1 C++程序结构 16
2.1.1几个C++程序 16
2 C++语言基础 16
2.1.2 C++程序的基本组成 17
2.1.3 C++程序的书写风格 18
2.2数据类型、运算符与表 19
达式 19
2.2.1基本数据类型 19
2.2.2常量与变量 20
2.2.3运算符与表达式 24
2.3 C++语句的构造 28
2.3.1顺序语句 28
2.3.2条件语句 31
2.3.3分支语句 32
2.3.4循环语句 33
2.3.5转移语句 34
2.4.1数组 37
2.4构造类型 37
2.4.2结构体 40
2.4.3共用体 42
2.4.4枚举类型 43
2.4.5用typedef定义类型 44
2.5指针 44
2.5.1指针的定义 44
2.5.2指针的基本操作 45
2.5.3指针与数组、结构体 47
2.5.4 new与delete 48
2.6 函数 49
2.6.1 函数的定义和调用 49
2.6.2函数的参数传递 51
2.6.3函数的递归调用 54
2.6.4内联函数和重载函数 55
2.7预处理指令与文件 57
2.7.1预处理 57
2.7.2文件 60
习题二 65
3面向对象程序设计基础 70
3.1面向对象的基本概念 70
3.1.1类和对象 70
3.1.2封装 71
3.1.3继承 71
3.1.4多态性 71
3.2类和对象的定义 72
3.2.1类的定义 72
3.2.2对象的定义 75
3.3构造函数与析构函数 76
3.3.1构造函数 76
3.3.2析构函数 77
3.4静态类成员 78
3.4.1静态数据成员 78
3.4.2静态成员函数 79
3.5继承性与派生类 81
3.5.1派生类的定义 81
3.5.2派生类的构造函数与析构函数 86
3.5.3多继承 87
3.6 多态性 91
3.6.1编译时的多态性和运行时的多态性 91
3.6.2编译时的多态性 92
3.6.3虚函数 93
3.7 友元 102
3.7.1友元函数 102
3.7.2友元成员 103
3.7.3友元类 105
3.8模板 109
3.8.1函数模板 109
3.8.2类模板 112
习题三 116
4.1 事件驱动与Wind3WS消息 119
系统 119
4.1.1事件驱动程序设计 119
4.1.2 Windows消息 119
4 WindoWS编程基础 119
4.1.3 Windows消息系统 120
4.2 WindoWS窗口 123
4.2.1窗口 123
4.2.2定义窗口类的结构 123
4.2.3窗口类的注册与窗口建立 125
4.3 Win32程序开发流程 127
4.3.1 Win32程序开发过程 127
4.3.2窗口主函数WinMain() 127
4.3.3窗口函数WndProc和消息处理 129
4.3.4资源定义文件 130
习题四 131
4.4 Hungarian表示法 131
5 MFC概述 132
5.1 MFC简介 132
5.2 MFC中类的组织结构和常 133
用类 133
5.2.1 MFC中类的组织结构 133
5.2.2 CObiect类 133
5.2.3应用程序体系结构类 134
5.2.4可视对象类 134
5.2.5通用类 136
5.2.6 OLE类 137
5.2.7 ODBC数据库类 137
5.3 MFC应用程序框架结构 138
5.3.1单文档应用程序的建立 138
5.3.2 理解MFC AppWizard创建的程序框架 142
流程 144
5.3.3 MFC应用程序的启动 144
5.4 MFC消息处理 146
5.4.1 Windows程序中的消息和消息处理函数 146
5.4.2消息映射 148
5.4.3使用ClassWizard管理消息和命令 151
习题五 153
6对话框与控件 154
6.1对话框概述 154
6.1.1对话框 154
6.1.2使用对话框编辑器 156
6.1.3对话框编程 159
6.1.4控件的创建与使用 164
6.1.5访问控件 168
6.2静态控件 168
6.2.1静态控件概述 168
6.2.2静态控件属性 169
6.3编辑框 170
6.3.1概述 170
6.3.2属性和风格 170
6.3.3基本操作 171
6.3.4编辑控件的通知消息 171
6.4按钮类(CButton)控件 171
6.4.1按钮类控件概述 171
6.4.2按钮类的消息 172
6.4.3示例 172
6.5列表框控件 177
6.5.1概述 177
6.5.2属性 177
6.5.3 列表框(CListBox)的基本操作 178
6.5.4列表框的通知消息 180
6.5.5示例 180
6.6.2风格及类型属性 183
6.6.1概述 183
6.6组合框类(CComboBox) 183
控件 183
6.6.3组合框常见的操作 184
6.6.4消息 185
6.6.5示例 185
6.7滚动类控件 188
6.7.1概述 188
6.7.2属性 188
6.7.3操作 190
6.7.4消息WM_HSCROLL和 192
WM VSCROLL 192
6.7.5示例 192
6.8通用对话框和消息对 200
话框 200
6.8.1通用对话框 200
6.8.2消息对话框 204
习题六 205
7菜单、工具栏和状态栏 207
7.1菜单 207
7.1.1菜单概述 207
7.1.2用编辑器设计菜单 208
7.1.3编程控制菜单 211
7.1.4快捷菜单(弹出式菜单)的设计与使用 215
7.1.5示例 216
7.2工具栏 220
7.2.1工具栏概述 220
7.2.2工具栏编辑器 220
7.2.3工具栏与菜单结合 221
7.3状态栏 222
7.3.1状态栏概述 222
7.3.2状态栏定义 222
7.3.3状态栏的常用操作 223
7.3.4示例 224
习题七 225
8图形设备接口与绘图 227
8.1设备环境和设备环境类 227
8.1.1设备环境 227
8.1.2设备环境类 227
8.2.1建立设备环境 229
8.2.2 GDI对象的分类 229
8.2 GDI绘图对象及其管理 229
8.2.3 CPen类 230
8.2.4 CBrush类 232
8.2.5 CFont类 233
8.2.6 CRgn类 236
8.2.7 CPalette类 239
8.2.8 CBitmap类 239
8.3映射模式 240
8.4.1设置绘图参数 241
8.4 CDC中的绘图操作及其 241
特点 241
8.4.2绘图函数 242
8.5绘制文本 243
8.6实例 244
习题八 246
9框架窗口、文档和视图 247
9.1 框架窗口 247
9.1.1 主框架窗口与文档窗口 247
9.1.2窗口风格的设置 247
9.1.3窗口状态的改变 249
9.2文档和视图 251
9.2.1文档 252
9.2.2视图 253
9.3文档模板 255
9.3.2文档模板的构造函数 256
9.3.1文档模板类 256
9.4切分窗口与一档多视 260
9.4.1切分窗口 260
9.4.2一档多视 262
9.5文档序列化 268
9.5.1 CArchive、CFile类与Serialize函数 269
9.5.2使对象成为可串行化 270
9.5.3文档序列化过程 271
9.5.4文档序列化示例 273
习题九 279
10数据库编程 280
10.1 数据库的访问和ODBC 280
10.1.1数据库和DBMS 280
10.1.2开放式数据库接口 280
ODBC 280
10.2.1 CDatabase类的用法 281
10.2 使用ODBC 281
10.1.3 MFC和ODBC 281
10.2.2 CRecordset类的用法 282
10.2.3 CRecordView类 288
10.2.4了解SQL 288
10.3使用ODBC创建数据库 291
应用程序 291
10.3.1准备数据库 291
10.3.2创建应用程序外壳 293
10.3.3设计主窗体 294
10.3.4添加新记录 296
10.3.5删除记录 297
10.3.6对记录进行排序 298
10.3.7查找 299
习题十 301
参考文献 302