《Visual C++程序设计教程》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:梁建武主编;陈英,张雷副主编
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2006
  • ISBN:7508434625
  • 页数:251 页
图书介绍:本书主要介绍Visual C++ 6.0编程技术,主要内容包括:Visual C++ 6.0集成开发环境;程序开发基础;构造应用程序框架;MFC类库基础;菜单、工具栏与状态栏;对话框;控件与功能函数;高级控件;绘图与打印;访问数据库和文件读写;MFC的进程和线程;串口通信程序的开发;动态链接库。通过这些内容的学习,会使用户充分领略到Visual C++事件驱动可视编程的威力所在。本书可作为高等学校计算机或相关专业Visual C++程序设计的教材或参考书,也可供广大工程技术人员学习参考。

第1章 Visual C++6.0集成开发环境 1

1.1 Visual C++6.0工程及其文件构成 1

1.1.1 Visual C++中的文件 1

11.2 工作空间中的文件 2

1.1.3 可以创建的文件类型和工程类型 2

1.2 启动Visual C++6.0 4

1.2.1 Visual C++6.0的启动界面 4

1.2.2 Visual C++6.0的功能菜单 5

1.3.2 应用程序向导AppWizard 9

1.3.1 项目工作区 9

1.3 Visual C++6.0集成开发环境概述 9

1.3.3 向导ClassWizard 10

1.3.4 向导工具栏WizardBar 14

1.4 小结 15

1.5 练习题 16

第2章 程序开发基础 17

2.1 C++语法基础 17

2.1.1 C++程序的构成 17

2.1.2 C++的语言基础 19

2.1.3 C++中的类与对象 22

2.1.4 类的继承和多态性 23

2.1.5 C++中的输入/输出流 24

2.2 AppWizard的使用 25

2.2.1 AppWizard第一步 25

2.2.2 AppWizard第二步 26

2.2.3 AppWizard第三步 27

2.2.4 AppWizard第四步 28

2.2.5 AppWizard第五步 29

2.2.6 AppWizard第六步 29

2.3.1 创建过程 30

2.3 一个简单的应用程序 30

2.3.2 编译、链接并运行程序 32

2.4 程序结构剖析 33

2.4.1 CAboutDlg类 33

2.4.2 CEg2_1App类 33

2.4.3 CEg2_1Doc和CEg2_1View类 34

2.4.4 CMainFrame类 37

2.5 Win32编程基础 39

2.5.1 Win32数据类型 39

2.5.2 句柄 39

2.6 小结 40

2.5.3 标识符命名 40

2.7 练习题 41

第3章 构造应用程序框架 42

3.1 单文档应用框架 42

3.1.1 创建过程 42

3.1.2 CEg3_1App应用程序运行过程 45

3.1.3 InitInstance()函数 45

3.2 多文档应用框架 47

3.2.1 创建过程 47

3.2.2 单文档应用程序和多文档应用程序的比较 48

3.3.1 创建过程 49

3.3 基于对话框的应用框架 49

3.3.2 InitInstance()函数分析 50

3.4 程序运行流程分析 51

3.4.1 Windows的编程模式 51

3.4.2 MFC应用程序的运行过程 52

3.4.3 三种应用程序框架的异同 53

3.5 小结 53

3.6 练习题 53

4.2 根类:CObject 55

4.1 Microsoft类库概述 55

第4章 Microsoft类库基础 55

4.3 MFC应用程序框架结构类 56

4.3.1 CWinApp类 56

4.3.2 CDocument类 57

4.3.3 CView类 58

4.4 MFC窗口类 59

4.5.2 CNotSupportedException:(Request for an unsupported operation,系统不支持的操作) 60

4.5.3 CArchiveException:(Archive-specific exception文件归档异常) 60

4.5.1 CMemoryException:(Out-of-memory exception,内存不足异常) 60

4.5 MFC异常类 60

4.5.4 CFileException:(File-specific exception,文件操作异常) 61

4.5.5 CResourceException:(Windows resource not found or not creatable,资源未找到) 61

4.6 MFC文件类 62

4.6.1 打开和关闭文件 62

4.6.2 文件的读写 62

4.6.3 CStdioFile类 62

4.6.4 CMemFile类 62

4.6.5 CArchive类 62

4.7.2 图形对象类 63

4.7.1 设备环境类 63

4.7 绘图和打印类 63

4.6.6 CSocketFile类 63

4.8 ODBC类 64

4.8.1 CDatabase类 64

4.8.2 CRecordset类 65

4.8.3 CRecordView类 66

4.9 小结 66

4.10 练习题 66

5.1.1 系统生成的菜单 67

5.1 编辑菜单资源 67

第5章 菜单、工具栏与状态栏 67

5.1.2 菜单的编辑 68

5.2 使用ClassWizard添加消息处理函数 73

5.2.1 为应用程序添加消息处理函数 73

5.2.2 MessageBox()函数 74

5.3 加入键盘加速键 75

5.3.1 键盘加速键的含义 75

5.3.2 添加键盘加速键 75

5.4.1 工具栏 76

5.4 工具栏和状态栏 76

5.4.2 用MFC创建工具栏 77

5.4.3 创建一个实际的工具栏 78

5.4.4 状态栏 82

5.5 小结 85

5.6 练习题 85

第6章 对话框 87

6.1 消息映射 87

6.2 定义对话框 88

6.3.2 应用实例 91

6.3 通用对话框 91

6.3.1 通用对话框 91

6.4 消息对话框 92

6.5 属性对话框 93

6.6 鼠标和键盘消息 95

6.6.1 鼠标消息 95

6.6.2 键盘消息 97

6.7 小结 98

6.8 练习题 99

7.1.1 控件的手工编辑 100

7.1.2 控件的操作和使用 100

第7章 控件与功能函数 100

7.1 控件概述 100

7.1.3 用于常用控件的通知 101

7.2 静态控件 101

7.3 按钮控件 101

7.3.1 按钮控件的样式 102

7.4 编辑框控件 103

7.4.1 按钮控件的样式 103

7.3.3 按钮控件消息 103

7.3.2 类CButton 103

7.4.2 CEdit类所有成员函数 104

7.4.3 编辑框控件消息 104

7.5 列表框控件 104

7.5.1 列表框控件样式 104

7.5.2 类CListBox常用成员函数 105

7.5.3 列表框控件消息 105

7.6 组合框控件 105

7.6.1 组合框控件样式 105

7.7.1 滚动条控件样式 106

7.7 滚动条控件 106

7.6.3 组合框控件消息 106

7.6.2 类CComboBox常用成员函数 106

7.7.2 类CScrollBar 107

7.7.3 滚动条控件消息 107

7.8 常用控件应用实例 108

7.8.1 创建对话框资源 108

7.8.2 生成对话框类 110

7.8.3 为控件建立相关联的成员变量 111

7.8.4 成员变量的初始化 112

7.8.5 建立消息映射与响应函数 112

7.8.6 函数建立与调用 113

7.8.7 重载其他函数 115

7.8.8 运行程序 116

7.9 小结 116

7.10 练习题 116

第8章 高级控件 118

8.1 高级控件简介 118

8.2 动画控件 118

8.2.1 动画控件的样式 118

8.2.2 CAnimateCtrl类 119

8.3 标签控件 119

8.3.2 类CTabCtrl 120

8.3.3 标签控制的操作方法 120

8.3.1 标签控件的样式 120

8.3.4 应用实例 121

8.4 列表控件 122

8.4.1 列表控件的样式 122

8.4.2 CListCtrl类 122

8.4.3 应用实例 124

8.5 树形控件 125

8.5.1 树形控件的样式 125

8.5.2 CTreeCtrl类 125

8.5.3 应用实例 127

8.6 旋转按钮控件 128

8.6.1 旋转按扭控件的样式 128

8.6.2 CSpinButtonCtrll类 129

8.7 滑动条控件 129

8.7.1 滑动条控件的样式 129

8.7.2 CSliderCtrl类 130

8.8 进度条控件 130

8.8.1 进度条控件的样式 131

8.8.2 CProgressCtrl类 131

8.10 练习题 134

8.9 小结 134

第9章 绘图与打印 135

9.1 设备环境类 135

9.1.1 设备环境类CDC 135

9.1.2 其他设备环境类 136

9.2 GDI对象 138

9.3 坐标与坐标模式 139

9.3.1 固定映射模式 140

9.3.2 可变映射模式 140

9.4 常用绘图函数 141

9.3.3 坐标转换 141

9.4.1 常用位置类 142

9.4.2 简单图形函数 142

9.5 绘图实例 143

9.6 字体 149

9.7 画刷 153

9.8 打印和打印预览 154

9.8.1 打印控制流程 155

9.8.2 打印循环 156

9.8.3 打印预览 156

9.10 练习题 159

9.9 小结 159

10.1 MFC提供的数据库访问类 161

10.1.1 CDatabase类 161

第10章 访问数据库和文件读写 161

10.1.2 CRecordset类 163

10.1.3 CRecordView类 164

10.1.4 CDBException类 164

10.1.5 CFieldExchange类 164

10.2 建立、连接数据源 164

10.2.2 建立数据源 165

10.2.1 启动ODBC驱动程序 165

10.3 建立访问数据库的应用程序 167

10.3.1 建立并连接数据库 167

10.3.2 创建访问数据库的应用程序 167

10.4 实现数据访问 169

10.4.1 设计主窗体 169

10.4.2 添加变量 170

10.4.3 运行应用程序 171

10.5.3 编辑记录 172

10.5.2 删除记录 172

10.5 增加和删除记录 172

10.5.1 增加新记录 172

10.5.4 添加处理记录的功能 173

10.6 程序分析 175

10.6.1 三个主要函数的代码分析 175

10.6.2 程序运行机制分析 176

10.7 文件的读写 179

10.7.1 int fopen(string filename, string mode)函数 179

10.7.3 int rewind(int fp)函数 180

10.7.4 fread函数和fwrite函数 180

10.7.2 int fseek(int fp, int offset, [, int whence])函数 180

10.7.5 序列化 181

10.7.6 CFile类 182

10.8 小结 183

10.9 练习题 183

第11章 MFC的进程和线程 185

11.1 Win32的进程和线程概念 185

11.1.1 进程的概念 185

11.1.2 线程的概念 185

11.2 进程编程 186

11.2.1 进程的创建 186

11.2.2 进程的管理和终止 187

11.2.4 进程的终止 188

11.2.3 取得和设置进程的优先级 188

11.2.5 判断一个进程是否终止 189

11.3 Win32中关于多线程的几个函数 189

11.3.1 线程的创建 190

11.3.2 CreatRemoteThread函数 190

11.3.3 SuspendThread和ResumeThread函数 191

11.3.4 ExitThread和TerminateThread函数 191

11.3.5 取得一个线程的优先级的函数 191

11.4.1 与多线程编程相关的全局函数 192

11.4 MFC中多线程的实现 192

11.4.2 CWinThread类 193

11.4.3 工作者线程的创建 195

11.4.4 创建用户界面线程 195

11.5 线程之间的通信 196

11.6 线程的调度和同步 196

11.6.1 临界段对象 197

11.6.2 互斥对象 198

11.6.3 事件对象 199

11.6.4 信号量对象 200

11.6.5 各种同步方法的比较 201

11.7 应用实例 202

11.7.1 用户界面的设计 203

11.7.2 新增成员变量及初始化 204

117.3 创建菜单响应函数 205

11.7.4 创建游戏者线程 205

11.7.5 创建机器线程 207

11.7.6 修改系统界面 208

11.9 练习题 210

11.8 小结 210

11.7.7 运行程序 210

第12章 串口通信程序的开发 212

12.1 串口通信的内部机制 212

12.1.1 Windows串行通信的工作原理 212

12.1.2 串行通信的操作方式 212

12.1.3 单线程与多线程下的串口通信 213

12.2 串口通信的实现 214

12.2.1 串口的初始化 214

12.2.2 串口的配置 215

12.2.3 超时设置 215

12.2.5 串口的读操作 216

12.2.4 串口的写操作 216

12.2.6 关闭串口 217

12.3 串口通信程序举例 217

12.3.1 建立基于对话框的程序 218

12.3.2 添加控件 218

12.3.3 建立按钮的消息响应函数 219

12.3.4 重载对话框类的初始化函数OnInitDialog()函数 220

12.3.5 程序运行结果 222

12.5 练习题 224

12.4 小结 224

第13章 动态链接库 225

13.1 DLL基础知识 225

13.1.1 DLL概述 225

13.1.2 DLL与LIB的区别 226

13.1.3 DLL与EXE的区别 226

13.1.4 DLL的两种动态链接方法 227

13.2 DLL入/出口函数 228

13.2.1 DllMain函数 228

13.2.2 MFC AppWizard生成的Regular DLL入/出口 229

13.3.1 使用DEF文件导出函数 230

13.3 从DLL中导出函数 230

13.3.2 使用关键字_declspec(dllexport) 231

13.3.3 使用AFX_EXT_CLASS导出 231

13.4 DLL中的数据和内存 231

13.4.1 DLL多进程间的数据共享 231

13.4.2 DLL进程中多线程间的数据隔离 232

13.5 几种常用的DLL 233

13.5.1 Win32 DLL 233

13.5.2 Regular statically linked to MFC DLL 234

13.5.4 MFC Extension DLL 235

13.5.3 Regular using the shared MFC DLL 235

13.6 DLL的调用和调试 236

13.6.1 VC对DLL的调用 236

13.6.2 VB对DLL的调用 237

13.6.3 DLL的调试 237

13.7 DLL例程 237

13.7.1 使用已有的DLL 237

13.7.2 资源DLL 240

13.7.3 使用自己的DLL 247

13.8 小结 250

13.9 练习题 250

参考文献 251