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

  • 购买积分:13 如何计算积分?
  • 作  者:申闫春主编
  • 出 版 社:北京交通大学出版社;清华大学出版社
  • 出版年份:2010
  • ISBN:9787811239614
  • 页数:366 页
图书介绍:本书首先从基本的概念出发,详细地讲述了使用Visual C进行面向对象与可视化程序设计的基础本原理与方法,重点介绍了Visual C编程环境及基于MFC的应用程序,然后本书以精选的新颖特色案例全面介绍了如何利用MFC进行课程设计和软件使用。本书介绍了12个课程设计案例,覆盖了Windows下编程的大部分内容,包括图形和图像、多媒体、Internet网络、数据库、程序通信、ActiveX技术等各个方面,深入浅出地说明了Visual C是典型的和最有用途的程序设计方法。

第1章 第一个C语言程序 1

1.1 C语言的背景与历史 1

1.2 C语言特点 1

1.3 使用Visual C++ 2005编写第一个C语言程序 2

1.4 C语言的基本概念 4

1.4.1 关键字 4

1.4.2 控制语句 5

1.4.3 变量 5

1.4.4 常量 6

1.4.5 函数 8

1.4.6 素数的判断 9

1.5 C语言的指针、数组、结构、联合与枚举 10

1.5.1 指针 10

1.5.2 数组 12

1.5.3 结构 14

1.5.4 联合 15

1.5.5 枚举 17

1.6 总结:C语言的编程风格与学习方法 19

习题1 20

第2章 第一个C++程序 21

2.1 C++概述 21

2.2 C++发展历史 21

2.3 C和C++的关系 21

2.4 第一个C++程序 22

2.5 C++对C的扩充 24

2.5.1 C++的输入输出 24

2.5.2 字符串变量 25

2.5.3 有默认参数的函数 25

2.5.4 动态分配/撤销内存的运算符new和delete 26

2.5.5 内联函数 27

2.5.6 函数的重载 27

2.5.7 函数模板 28

2.6 C++中的面向对象机制 30

2.6.1 类与结构 30

2.6.2 类 31

2.6.3 类的构造函数与析构函数 33

2.7 改造monitor类 36

2.8 C++小结 38

习题2 39

第3章 创建Win32 API应用程序 40

3.1 Windows编程基础 40

3.1.1 什么是Win32 40

3.1.2 什么是Windows API函数和Win32 API 40

3.1.3 什么是SDK 40

3.1.4 窗口与句柄 41

3.1.5 ANSI编码与Unicode编码 41

3.2 利用Windows API函数编写一个消息框 41

3.3 消息框的实现详解 42

3.3.1 Windows.h头文件 42

3.3.2 域操作符:: 43

3.3.3 MessageBox函数 44

3.3.4 通过MSDN学习API函数 44

3.3.5 常用的Windows数据类型 45

3.3.6 API函数参数的选择 46

习题3 48

第4章 编写第一个MFC窗口程序 49

4.1 窗口 49

4.1.1 三种窗口类型 49

4.1.2 客户区和非客户区 49

4.1.3 什么是MFC 50

4.2 编写第一个MFC窗口程序 50

4.2.1 建立一个单文档的程序 50

4.2.2 MFC AppWizard产生的程序分析 53

4.2.3 MFC的基类CObject 54

4.2.4 字符串类CString 55

4.3 利用设备上下文实现显示输出 58

4.3.1 什么是设备上下文 58

4.3.2 CDC类与资源泄漏 58

4.4 Windows消息机制 60

4.4.1 消息的组成 60

4.4.2 消息的处理 60

4.4.3 消息传递机制 61

4.4.4 编写响应鼠标单击的窗口程序 61

4.4.5 消息映射机制的实现 63

4.4.6 客户区的重绘 64

4.5 Win32函数和MFC函数的差别 65

习题4 66

第5章 窗口绘图 67

5.1 绘图相关知识与应用 67

5.1.1 Windows窗口绘图的坐标系统 67

5.1.2 与绘图相关的几个几何对象的类 67

5.1.3 创建一个绘图程序 68

5.2 Windows绘图的类与函数 81

5.2.1 CDC类 81

5.2.2 CPen类 83

5.2.3 CBrush类 84

5.2.4 绘图模式 85

5.2.5 Invalidate函数 86

习题5 86

第6章 对话框 88

6.1 什么是对话框 88

6.2 对话框的分类 88

6.3 如何设计对话框 88

6.3.1 设计对话框模版 89

6.3.2 对话框类的设计 90

6.4 对话框的数据交换机制(DDX) 96

6.5 模态对话框和非模态对话框 96

6.6 对话框实例 97

习题6 102

第7章 鼠标键盘定时器 103

7.1 鼠标键盘定时器的相关事件及编程例子 103

7.1.1 如何对鼠标事件编程 103

7.1.2 如何对键盘事件编程 103

7.1.3 如何对定时器编程 103

7.1.4 创建鼠标键盘定时器应用程序 104

7.2 键盘鼠标的事件及编码 113

7.2.1 Windows中的键盘事件 113

7.2.2 扫描码和虚拟键码 113

7.2.3 鼠标事件 115

7.3 定时器的使用 116

7.3.1 如何创建定时器 116

7.3.2 取消定时器 118

习题7 118

第8章 菜单、工具栏、快捷键 119

8.1 菜单 119

8.1.1 什么是菜单 119

8.1.2 建立菜单 119

8.2 工具栏 128

8.2.1 工具栏的作用 128

8.2.2 建立工具栏 128

8.3 快捷键 129

8.3.1 什么是快捷键 129

8.3.2 添加快捷键 130

8.4 菜单、工具栏和快捷键相关知识 132

8.4.1 菜单的消息与函数 132

8.4.2 工具栏的属性与函数 136

8.4.3 快捷键的相关属性 136

习题8 138

第9章 文档、视图、框架窗口 139

9.1 文档—视图结构 139

9.1.1 什么是文档—视图模型 139

9.1.2 什么是SDI和MDI 139

9.1.3 什么是文档模板 140

9.2 文档与视图的联系 140

9.3 文档/视图架构中消息流动机制 143

9.4 持久性和序列化 146

9.4.1 什么是持久性 146

9.4.2 什么是序列化 146

9.4.3 文档的存盘和读取 146

9.4.4 OnDraw(CDC*/*pDC*/)简介 151

9.4.5 保存时自定义后缀的实现 151

9.4.6 使类具备序列化功能 152

习题9 153

第10章 控件 154

10.1 控件的分类 154

10.2 控件的共性 154

10.2.1 所有的控件都是子窗口 154

10.2.2 控件的创建方法 155

10.2.3 手工创建控件 155

10.2.4 控件的访问方法 157

10.2.5 控件及控件对象的删除 159

10.3 MFC通用控件的实例 159

10.3.1 列表控件(CListCtrl) 159

10.3.2 树控件(CTreeCtrl) 161

10.4 列表控件和树控件举例 163

10.5 设计新的控件类 166

习题10 166

第11章 位图 167

11.1 位图编程基础 167

11.1.1 什么是位图 167

11.1.2 调色板 168

11.1.3 调色板管理器机制 168

11.1.4 DDB和DIB 169

11.1.5 位图文件结构 169

11.2 将客户区图像保存为位图文件 171

11.2.1 将位图显示在客户区中 171

11.2.2 CreateCompatibleDC函数与BitBlt函数 173

11.2.3 将位图显示在客户区中 174

11.3 软件背景图和空心字的显示 180

11.3.1 软件背景图的拉伸显示 180

11.3.2 StretchBlt和SetStretchBltMode函数 181

11.3.3 空心字的显示 182

11.3.4 路径函数BeginPath和EndPath 184

习题11 185

第12章 打印 186

12.1 打印编程基础 186

12.1.1 显示分辨率 186

12.1.2 打印分辨率 186

12.1.3 映射模式 187

12.1.4 视口和窗口 187

12.1.5 需要重载的CView类成员函数 188

12.2 编写一个所见即所得的程序 189

12.3 打印详解 193

12.3.1 设置打印机状态 193

12.3.2 通过CView打印 193

12.4 编写一个基于对话框的打印程序 196

12.4.1 打印的实现 196

12.4.2 打印对话框 199

12.4.3 DrawText函数 199

12.4.4 StartDoc函数和EndDoc函数 200

12.4.5 inflaterect函数和deflaterect函数 201

习题12 201

第13章 ActiveX控件 202

13.1 ActiveX简介与开发 202

13.1.1 ActiveX简介 202

13.1.2 创建一个ActiveX控件 203

13.1.3 Visual C++ 2005中使用ActiveX控件 215

13.2 ActiveX控件详解 220

13.2.1 不需要注册ActiveX控件 220

13.2.2 ActiveX控件测试容器 220

13.3.3 MFC ActiveX的属性、方法、事件 220

习题13 221

第14章 动态链接库 222

14.1 动态链接库基础 222

14.1.1 什么是动态链接库 222

14.1.2 静态链接和动态链接 222

14.1.3 使用动态链接库的好处 223

14.1.4 应用程序和动态链接库的区别 223

14.2 动态链接库的封装和加载 223

14.2.1 动态链接库的封装 223

14.2.2 Dumpbin工具查看DLL的导出函数 224

14.2.3 从DLL导出函数 226

14.2.4 动态链接库的隐式加载 227

14.2.5 动态链接库的显式加载 229

14.2.6 易犯的名字改编错误 230

14.2.7 什么是DLL劫持 231

14.3 MFC DLL简介 231

习题14 233

第15章 进程、线程 234

15.1 进程与线程 234

15.1.1 什么是进程与线程 234

15.1.2 为什么要使用多线程 234

15.1.3 如何创建和结束进程 235

15.1.4 如何创建和结束线程 235

15.1.5 进程线程实例 236

15.2 进程与线程相关方法 245

15.2.1 如何使用CreateProcess()创建进程 245

15.2.2 如何使用ExitProcess()结束进程 246

15.2.3 如何使用TerminateProcess()结束进程 246

15.2.4 如何使用AfxBeginThread()创建线程 247

15.2.5 如何使用AfxEndThread()结束线程 248

15.2.6 如何使用TerminateThread()结束线程 248

习题15 248

第16章 注册表 249

16.1 注册表知识 249

16.1.1 什么是注册表 249

16.1.2 什么是INI文件 249

16.1.3 注册表的层次结构 250

16.2 编写程序启动自运行实例 251

16.3 编程操作注册表 253

16.3.1 注册表启动项 253

16.3.2 操作注册表的API函数 254

16.3.3 路径分解函数_wsplitpath 255

16.4 宽字符编程中易犯的错误 255

习题16 258

第17章 系统管理 259

17.1 系统信息的获取与显示 259

17.1.1 如何获取各种系统信息 259

17.1.2 如何获取系统进程信息 259

17.1.3 如何获取内存使用情况 259

17.1.4 如何获取系统驱动器信息 259

17.1.5 如何获取系统设备信息 260

17.1.6 创建系统管理应用程序 260

17.2 系统信息相关函数的使用 276

17.2.1 进程相关的几个函数是如何使用的 276

17.2.2 如何获取系统物理内存与虚拟内存的使用情况 279

17.2.3 获取系统驱动器信息的几个函数是如何使用的 279

17.2.4 获取系统设备的几个函数是如何使用的 281

习题17 283

第18章 网络通信 284

18.1 socket编程 284

18.1.1 什么是socket 284

18.1.2 socket编程步骤 284

18.1.3 创建聊天系统的服务器端 285

18.1.4 创建聊天程序的客户端 296

18.2 网络编程中socket的使用 309

18.2.1 如何使用socket相关的函数 309

18.2.2 SOCK_DGRAM类型的套接字如何使用 312

18.2.3 为什么本章例子程序中多次使用线程 312

习题18 312

第19章 数据库编程 313

19.1 ADO简介 313

19.1.1 ODBC与ADO 313

19.1.2 使用ADO的基本流程 313

19.1.3 如何引入和初始化ADO的COM库 313

19.1.4 ADO提供了什么接口 314

19.1.5 使用ADO操作数据库 315

19.2 ADO对象与方法详解 332

19.2.1 关于数据类型转换(_bstr_t和CString) 332

19.2.2 使用ADO连接数据库 332

19.2.3 执行不返回结果的SQL命令 333

19.2.4 执行SQL命令获取记录集 334

习题19 335

第20章 水晶报表 337

20.1 为何使用报表工具 337

20.2 什么是水晶报表 337

20.2.1 安装水晶报表 338

20.2.2 Crystal Repots for Visual Studio 2005 338

20.3 水晶报表使用实例 338

20.4 在MFC中使用水晶报表 343

习题20 344

第21章 Office编程 345

21.1 如何进行Office编程 345

21.1.1 Office的基本编程模型——对象 345

21.1.2 Excel编程模型中的对象 345

21.1.3 在Visual C++ 2005中操作Excel对象 346

21.1.4 Excel编程实例 347

21.2 Excel编程中方法与参数的详解 356

21.2.1 打开一个Workbook的open方法 356

21.2.2 保存Excel文档的SaveAs方法 358

21.2.3 设置字体或单元格等颜色的ColorIndex参数 359

习题21 360

第22章 多媒体编程 361

22.1 Windows平台下的多媒体编程 361

22.2 Windows下的屏幕保护程序 361

22.3 制作一个简单的屏幕保护程序 362

22.4 屏保程序的调用机制 365

习题22 366