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

  • 购买积分:13 如何计算积分?
  • 作  者:梁建武主编;覃业瞧,刘秀娟,王晓慧副主编
  • 出 版 社:北京:中国水利水电出版社
  • 出版年份:2015
  • ISBN:9787517032366
  • 页数:354 页
图书介绍:本书介绍Visual C++ 6.0编程技术和Android编程技术,主要内容包括:Visual C++ 6.0集成开发环境,程序开发基础,构造应用程序框架,MFC类库基础,菜单、工具栏与状态栏,对话框;控件与功能函 数,高级控件,绘图与打印,访问数据库和文件读写,MFC的进程和线程,串口通信程序的开发,动态链接库,Eclipse集成开发环境,Java语言基础,Android程序开发基础,Android系统控件,SQLite3数据库,Android网络编程,MFC网络编程,手机无线组网,Flash脚本,MFC和Flash的交互。通过这些内容的学习,会使用户充分领略到Visual C++事件驱动可视编程技术以及Android移动编程技术的威力所在。本书实例丰富、讲解清晰、力求避免代码复杂冗长。简短实例特别有助于初学者仿效理解、把握问题精髓和对应用程序框架的整体认识;本书配套实训教材能让读者学会怎样开发一个大型的程序实例。本书可作为高等学校计算机或相关专业Vis ual C++程序设计和Android程序设计的教材或参考书,也可供广大工程技术人员学习参考。

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

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

1.1.1 Visual C++中的文件 1

1.1.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的功能菜单 4

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

1.3.1 项目工作区 9

1.3.2 应用程序向导AppWizard 9

1.3.3 向导ClassWizard 10

1.3.4 向导工具栏WizardBar 13

习题一 15

第2章 程序开发基础 16

2.1 C++语法基础 16

2.1.1 C++程序的构成 16

2.1.2 C++的语言基础 18

2.1.3 C++中的类与对象 21

2.1.4 类的继承和多态性 21

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

2.2 AppWizard的使用 23

2.2.1 AppWizard第一步 24

2.2.2 AppWizard第二步 25

2.2.3 AppWizard第三步 25

2.2.4 AppWizard第四步 26

2.2.5 AppWizard第五步 27

2.2.6 AppWizard第六步 28

2.3 一个简单的应用程序 29

2.3.1 创建过程 29

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

2.4 程序结构剖析 31

2.4.1 CAboutDlg类 31

2.4.2 CEg2_ 1 App类 32

2.4.3 CEg2_ 1Doc和CEg2_ 1 View类 32

2.4.4 CMainFrame类 35

2.5 Win32编程基础 36

2.5.1 Winm32数据类型 36

2.5.2 句柄 37

2.5.3 标识符命名 37

习题二 38

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

3.1 单文档应用框架 39

3.1.1 创建过程 39

3.1.2 CEg3_1App应用程序运行过程 42

3.1.3 InitInstance()函数 42

3.2 多文档应用框架 44

3.2.1 创建过程 44

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

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

3.3.1 创建过程 46

3.3.2 InitInstance() 函数分析 47

3.4 程序运行流程分析 48

3.4.1 Windows的编程模式 48

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

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

习题三 50

第4章 Microsoft类库基础 51

4.1 Microsoft类库概述 51

4.2 根类:CObject 51

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

4.3.1 CWinApp类 52

4.3.2 CDocument类 53

4.3.3 CView类 54

4.4 MFC窗口类 55

4.5 MFC异常类 56

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

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

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

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

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

4.6 MFC文件类 57

4.6.1 打开和关闭文件 57

4.6.2 文件的读写 58

4.6.3 CStdioFile类 58

4.6.4 CMemFile类 58

4.6.5 CArchive类 58

4.6.6 CSocketFile类 58

4.7 绘图和打印类 59

4.7.1 设备环境类 59

4.7.2 图形对象类 59

4.8 ODBC类 60

4.8.1 CDatabase类 60

4.8.2 CRecordset类 60

4.8.3 CRecordView类 61

习题四 61

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

5.1 编辑菜单资源 63

5.1.1 系统生成的菜单 63

5.1.2 菜单的编辑 64

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

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

5.2.2 MessageBox()函数 70

5.3 加入键盘加速键 70

5.3.1 键盘加速键的含义 70

5.3.2 添加键盘加速键 71

5.4 工具栏和状态栏 72

5.4.1 工具栏 72

5.4.2 用MFC创建工具栏 72

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

5.4.4 状态栏 78

习题五 81

第6章 对话框 82

6.1 消息映射 82

6.2 定义对话框 83

6.3 通用对话框 86

6.3.1 通用对话框 86

6.3.2 应用实例 86

6.4 消息对话框 87

6.5 属性页对话框 88

6.6 鼠标和键盘消息 90

6.6.1 鼠标消息 90

6.6.2 键盘消息 92

习题六 93

第7章 控件与功能函数 94

7.1 控件概述 94

7.1.1 控件的手工编辑 94

7.1.2 控件的操作和使用 94

7.1.3 用于常用控件的通知 95

7.2 静态控件 95

7.3 按钮控件 95

7.3.1 按钮控件的样式 96

7.3.2 类CButton 97

7.3.3 按钮控件消息 97

7.4 编辑框控件 97

7.4.1 编辑框控件的样式 97

7.4.2 CEdit类所有成员函数 97

7.4.3 编辑框控件消息 98

7.5 列表框控件 98

7.5.1 列表框控件样式 98

7.5.2 CListBox类常用成员函数 99

7.5.3 列表框控件消息 99

7.6 组合框控件 99

7.6.1 组合框控件样式 99

7.6.2 CComboBox类常用成员函数 100

7.6.3 组合框控件消息 100

7.7 滚动条控件 100

7.7.1 滚动条控件样式 100

7.7.2 CScrollBar类 101

7.7.3 滚动条控件消息 101

7.8 常用控件应用实例 102

7.8.1 创建对话框资源 102

7.8.2 生成对话框类 104

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

7.8.4 成员变量的初始化 106

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

7.8.6 函数建立与调用 107

7.8.7 重载其他函数 109

7.8.8 运行程序 110

习题七 110

第8章 高级控件 111

8.1 高级控件简介 111

8.2 动画控件 111

8.2.1 动画控件的样式 111

8.2.2 CAnimateCtrl类 112

8.3 标签控件 112

8.3.1 标签控件的样式 113

8.3.2 类CTabCtrl 113

8.3.3 标签控件的操作方法 113

8.3.4 应用实例 114

8.4 列表控件 115

8.4.1 列表控件的样式 115

8.4.2 CListCtrl类 115

8.4.3 应用实例 117

8.5 树形控件 118

8.5.1 树形控件的样式 118

8.5.2 CTreeCtrl类 118

8.5.3 应用实例 120

8.6 旋转按钮控件 121

8.6.1 旋转按钮控件的样式 121

8.6.2 CSpinButtonCtrl类 122

8.7 滑动条控件 122

8.7.1 滑动条控件的样式 122

8.7.2 CSliderCtrl类 123

8.8 进度条控件 123

8.8.1 进度条控件的样式 123

8.8.2 CProgressCtrl类 123

习题八 126

第9章 绘图与打印 127

9.1 设备环境类 127

9.1.1 设备环境类CDC 127

9.1.2 其他设备环境类 128

9.2 GDI对象 130

9.3 坐标与坐标模式 131

9.3.1 固定映射模式 132

9.3.2 可变映射模式 132

9.3.3 坐标转换 133

9.4 常用绘图函数 133

9.4.1 常用位置类 134

9.4.2 简单图形函数 134

9.5 绘图实例 135

9.6 字体 141

9.7 画刷 144

9.8 打印和打印预览 146

9.8.1 打印控制流程 146

9.8.2 打印循环 146

9.8.3 打印预览 147

9.9 Win7系统下高效绘图实例 150

习题九 151

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

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

10.1.1 CDatabase类 152

10.1.2 CRecordset类 154

10.1.3 CRecordView类 155

10.1.4 CDBException类 155

10.1.5 CFieldExchange类 155

10.2 建立、连接数据源 155

10.2.1 启动ODBC驱动程序 155

10.2.2 建立数据源 156

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

10.3.1 建立并连接数据库 158

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

10.4 实现数据访问 160

10.4.1 设计主窗体 160

10.4.2 添加变量 161

10.4.3 运行应用程序 162

10.5 增加和删除记录 163

10.5.1 增加新记录 163

10.5.2 删除记录 163

10.5.3 编辑记录 163

10.5.4 添加处理记录的功能 164

10.6 程序分析 166

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

10.6.2 程序运行机制分析 167

10.7 文件的读写 170

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

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

10.7.3 int rewind(int fp)函数 171

10.7.4 fread函数和fwrite函数 171

10.7.5 序列化 172

10.7.6 CFile类 173

习题十 173

第11章 MFC的进程和线程 175

11.1 Win32的进程和线程概念 175

11.1.1 进程的概念 175

11.1.2 线程的概念 175

11.2 进程编程 176

11.2.1 进程的创建 176

11.2.2 进程的管理和终止 177

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

11.2.4 进程的终止 178

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

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

11.3.1 线程的创建 180

11.3.2 CreatRemoteThread函数 180

11.3.3 SuspendThread和ResumeThread函数 181

11.3.4 ExitThread和TerminateThread函数 181

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

11.4 MFC中多线程的实现 182

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

11.4.2 CWinThread类 183

11.4.3 工作者线程的创建 185

11.4.4 创建用户界面线程 185

11.5 线程之间的通信 186

11.6 线程的调度和同步 186

11.6.1 临界段对象 187

11.6.2 互斥对象 187

11.6.3 事件对象 189

11.6.4 信号量对象 190

11.6.5 各种同步方法的比较 191

11.7 应用实例 192

11.7.1 用户界面的设计 193

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

11.7.3 创建菜单响应函数 194

11.7.4 创建游戏者线程 195

11.7.5 创建机器线程 196

11.7.6 修改系统界面 198

11.7.7 运行程序 199

习题十一 199

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

12.1 串口通信的内部机制 201

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

12.1.2 串行通信的操作方式 201

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

12.2 串口通信的实现 203

12.2.1 串口的初始化 203

12.2.2 串口的配置 204

12.2.3 超时设置 204

12.2.4 串口的写操作 205

12.2.5 串口的读操作 205

12.2.6 关闭串口 206

12.3 串口通信程序举例 206

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

12.3.2 添加控件 207

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

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

12.3.5 程序运行结果 211

习题十二 212

第13章 动态链接库 213

13.1 DLL基础知识 213

13.1.1 DLL概述 213

13.1.2 DLL与LIB的区别 214

13.1.3 DLL与EXE的区别 214

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

13.2 DLL入口/出口函数 216

13.2.1 DLLMain函数 216

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

13.3 从DLL中导出函数 217

13.3.1 使用DEF文件导出函数 218

13.3.2 使用关键字_declspec(dllexport) 218

13.3.3 使用AFX EXT CLASS导出 219

13.4 DLL中的数据和内存 219

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

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

13.5 几种常用的DLL 220

13.5.1 Win32 DLL 221

13.5.2 Regular statically linked to MFC DLL 222

13.5.3 Regular using the shared MFC DLL 222

13.5.4 MFC Extension DLL 223

13.6 DLL的调用和调试 224

13.6.1 VC对DLL的调用 224

13.6.2 VB对DLL的调用 224

13.6.3 DLL的调试 224

13.7 DLL例程 225

13.7.1 使用己有的DLL 225

13.7.2 资源DLL 227

13.7.3 使用自己的DLL 233

习题十三 237

第14章 Android Eclipse集成开发环境 238

14.1 Android背景介绍 238

14.2 Android开发环境 238

14.2.1 Android开发环境概述 238

14.2.2 Android开发环境搭建 239

14.3 Eclipse集成开发环境介绍 245

14.3.1 Eclipse集成开发环境界面 245

14.3.2 Eclipse集成开发环境常用功能 248

习题十四 252

第15章 Android程序开发基础 254

15.1 Java语法基础 254

15.1.1 Java语言特性 254

15.1.2 Java标识符及关键字 255

15.1.3 Java数据类型 256

15.1.4 Java运算符 256

15.1.5 Java语句 256

15.1.6 Java数组和字符串 258

15.1.7 Java类、对象和接口 262

15.2 Android架构模型 266

15.2.1 Linux Kernel 266

15.2.2 Android Runtime 266

15.2.3 Libraries 267

15.2.4 Application Framework 267

15.2.5 Applications 268

15.3 创建第一个Android工程 268

15.3.1 创建工程 268

15.3.2 工程目录结构 271

习题十五 274

第16章 Android基本控件 275

16.1 TextView文本框 275

16.1.1 TextView类的结构 275

16.1.2 TextView类的方法 275

16.1.3 TextView标签的属性 276

16.1.4 TextView的使用 279

16.2 EditText编辑框 280

16.2.1 EditText类的结构 280

16.2.2 EditText类的方法 281

16.2.3 EditText标签的属性 281

16.2.4 EditText的使用 284

16.3 Button按钮 286

16.3.1 Button类的结构 286

16.3.2 Button类的常用方法 286

16.3.3 Button类的常用属性 286

16.3.4 Button类的使用 287

16.4 ImageButton图片按钮 288

16.4.1 ImageButton类的结构 288

16.4.2 ImageButton类的常用方法 288

16.4.3 ImageButton类的常用属性 289

16.4.4 ImageButton类的使用 289

16.5 Toast提示 291

16.5.1 Toast类的结构 291

16.5.2 Toast的常量 291

16.5.3 Toast类的方法 291

16.5.4 Toast类的使用 293

16.6 LinearLayout线性布局 294

16.6.1 线性布局介绍 294

16.6.2 线性布局的常用属性 294

16.6.3 线性布局常用的方法 295

16.6.4 线性布局的使用 295

16.7 RelativeLayout相对布局 296

16.7.1 RelativeLayout类的结构 296

16.7.2 RelativeLayout类的常用方法 297

16.7.3 RelativeLayout类的常用属性 297

16.7.4 RelativeLayout类的使用 298

习题十六 299

第17章 SQLite3数据库 300

17.1 SQLite3数据库概述 300

17.1.1 SQLite3数据库介绍 300

17.1.2 SQLite3数据库特性 301

17.1.3 SQLite3数据库组成结构 301

17.2 Android SQLite3数据库访问类 302

17.3 创建SQLite3数据库 303

17.3.1 SQLite3数据库设计 303

17.3.2 SQLite3数据库实现 303

17.3.3 SQLite3数据库实现解析 305

17.4 SQLite3数据库读写 305

17.4.1 定义Todoltem项 305

17.4.2 删除和修改Todoltem项 306

17.4.3 查询Todoltem项 307

习题十七 307

第18章 Android网络编程 309

18.1 Android网络编程概述 309

18.2 Android网络编程分类 310

18.2.1 基于HTTP协议的Android网络编程 310

18.2.2 基于Socket的Android网络编程 312

18.2.3 Android平台的其他网络编程技术 314

18.3 Android网络编程实现 315

18.3.1 使用标准Java接口进行网络编程 315

18.3.2 使用Org. apache接口进行网络编程 318

18.4 使用Fastjson传输数据 322

18.4.1 Fastjson介绍 322

18.4.2 Fastjson常用方法 323

18.4.3 使用Fastjson 323

习题十八 324

第19章 MFC网络编程及无线组网 326

19.1 网络编程基本概念 326

19.2 Winsock基础 327

19.2.1 Winsock API 327

19.2.2 WinSock的使用 329

19.3 MFC网络编程示例 335

19.3.1 基于TCP的网络编程示例 335

19.3.2 基于UDP的网络编程示例 337

19.4 使用json传输数据 339

19.5 无线组网 341

习题十九 343

第20章 MFC和Flash的交互 344

20.1 Flash介绍 344

20.1.1 Flash简介 344

20.1.2 Flash主要功能 344

20.1.3 Flash特性和发展前景 345

20.2 Flash脚本开发基础 345

20.2.1 Flash脚本基础知识 345

20.2.2 Flash数据类型 346

20.2.3 Flash关键字和变量 347

20.2.4 Flash影片剪辑事件与拖动 349

20.3 在MFC中使用Flash 350

20.3.1 MFC中添加ShockwaveFlash控件 350

20.3.2 ShockwaveFlash控件常用方法 352

20.3.3 在Flash和MFC之间传递消息 352

习题二十 353

参考文献 354