《Visual C++入门与提高》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:陈争光,由坤编著
  • 出 版 社:北京:科学出版社
  • 出版年份:2008
  • ISBN:9787030227898
  • 页数:408 页
图书介绍:本书由四部分组成:VC++开发工具的使用,使用VC++开发MFC程序,使用VC++开发应用程序,使用VC++开发实际项目。

第一篇 VC++基础知识 1

第1章 IDE安装与使用 1

1.1安装Visual C++6.0环境 1

1.1.1安装VC++6.0 1

1.1.2安装MSDN 2

1.2创建一个Console应用程序 2

1.3使用MSDN查找帮助信息 4

1.4调试自己的程序 5

1.5小结 5

第2章 回顾C++ 6

2.1结构体与类 6

2.2类成员的访问类型 7

2.3 this指针 7

2.4函数重载 8

2.5构造函数 9

2.6析构函数 10

2.7静态成员 12

2.7.1定义及操作静态成员 12

2.7.2操作静态成员的条件 13

2.8继承 13

2.8.1从Student类派生3种新学生类 14

2.8.2子类对象的构造函数 16

2.8.3覆盖父类的方法 17

2.8.4虚函数 18

2.8.5虚析构函数 20

2.9类的实现和定义分离 22

2.10 STL-—标准模板库,方便的数据结构 25

2.10.1向量vector 25

2.10.2双端队列deque 26

2.10.3链表list 27

2.10.4集合set 28

2.10.5映射map 29

2.11编程规范——匈牙利表示法 30

2.11.1变量的命名 30

2.11.2函数的命名 30

2.11.3类别的命名 31

2.11.4常量的命名 31

2.12小结 31

第3章 告别Console进入Windows 32

3.1创建第一个Windows应用程序 32

3.2与标准C++的不同 35

3.2.1入口函数不同 35

3.2.2数据类型的不同 36

3.2.3 Win32 API函数 36

3.3窗口的产生 37

3.3.1使用WNDCLASSEX结构体构造窗口类别 37

3.3.2使用RegisterClassEx注册窗口类别 37

3.3.3使用CreateWindow创建窗口 38

3.3.4 ShowWindow显示窗口及UpdateWindow更新窗口 38

3.3.5编写消息循环 38

3.3.6编写窗口过程函数 39

3.4 Windows事件驱动 39

3.5简单的GDI操作 40

3.6应用案例——跟踪鼠标在窗口上的坐标 40

3.6.1案例需求 41

3.6.2案例效果图 41

3.6.3需要掌握的知识点 41

3.6.4开发过程 41

3.7小结 42

第二篇 MFC编程 43

第4章 文档应用程序 43

4.1使用AppWizard——应用程序向导创建单文档程序 43

4.2 MFC程序框架分析 45

4.2.1 theApp全局对象 46

4.2.2 MFC中的WinMain函数 46

4.2.3窗口的句柄 46

4.3框架窗口 47

4.3.1框架窗口的重要成员函数 47

4.3.2改变窗口状态 48

4.4文档模板 50

4.5文档的序列化 50

4.5.1 MFC文档读写机制 50

4.5.2示例——建立可序列化的类 51

4.6文档视图结构 54

4.6.1一般视图类的使用 54

4.6.2文档与视图的相互访问 55

4.6.3切分窗口 55

4.7 MFC的编程的核心——消息映射 57

4.7.1使用类向导添加消息处理 57

4.7.2手动添加消息映射 58

4.8菜单编程 59

4.8.1使用资源视图设计菜单 59

4.8.2响应菜单消息 60

4.8.3更改应用程序菜单 61

4.8.4使用快捷菜单(右键菜单) 63

4.9工具栏编程 64

4.9.1使用工具栏编辑器 64

4.9.2工具栏菜单结合 64

4.9.3多个工具栏使用 65

4.10状态栏编程 67

4.10.1状态栏的定义 67

4.10.2状态栏的常用操作 68

4.11小结 71

第5章 对话框编程 72

5.1创建一个对话框程序 72

5.1.1使用AppWizard——应用程序向导创建对话框程序 72

5.1.2在对话框中添加控件 73

5.1.3通过修改对话框属性改变对话框样式 73

5.1.4简单的控件编程 74

5.2数据交换(DDX)与数据验证(DDV) 74

5.2.1使用控件类获得控件数据 74

5.2.2使用数据交换(DDX)机制获得控件数据 75

5.2.3数据验证(DDV) 77

5.3添加对话框资源 78

5.4对话框类型 79

5.4.1模态对话框 79

5.4.2非模态对话框 79

5.5通用对话框 80

5.5.1示例——使用文件选择对话框CFileDialog类打开文件 80

5.5.2示例——使用颜色选择对话框CColorDialog类改变颜色 81

5.6应用案例——文件分割工具制作 83

5.6.1案例效果图 83

5.6.2需要掌握的知识点 83

5.6.3文件操作 83

5.6.4开发过程 84

5.6.5 Enter键调用OnOK函数 91

5.7小结 91

第6章 常用控件 92

6.1静态控件 92

6.1.1静态文本控件 92

6.1.2组框 92

6.1.3静态图片 92

6.1.4静态控件的其他用途 92

6.2按钮 93

6.2.1单选按钮 93

6.2.2复选框 94

6.2.3示例——用户注册信息审查 94

6.3文本框和微调按钮 97

6.3.1通过修改文本框属性改变文本框样式 97

6.3.2通过响应消息来操作文本框 97

6.3.3文本框与微调按钮配合使用 97

6.4列表框和组合框 98

6.4.1列表框的常用属性 98

6.4.2列表框的常用操作方法 98

6.4.3组合框 98

6.4.4示例——文件列表对话框制作 99

6.5列表控件 101

6.5.1为列表控件添加表列 102

6.5.2为列表控件添加表项 103

6.5.3列表控件的扩展属性 105

6.5.4列表控件的排序 105

6.5.5示例——带有排序与自绘制表头工程的列表控件 105

6.6树控件 109

6.6.1添加删除树控件节点 109

6.6.2示例——树控件使用演示 110

6.7标签控件 111

6.8小结 111

第7章 图形设备接口GDI 112

7.1回顾前面的例子 112

7.2 GDI操作函数 112

7.2.1绘制文本TextOut和DrawText 112

7.2.2绘制点SetPixel 113

7.2.3绘 制直线MoveToEx和LineTo 113

7.2.4绘制椭圆Ellipse 114

7.2.5绘制矩形FillRect与Rectangle 114

7.3坐标映射 114

7.4 MFC中封装的GDI 115

7.4.1使用CDC、CClientDC和CWindowDC绘制图形 115

7.4.2示例——使用CclientDC绘制椭圆 115

7.5字体 116

7.5.1创建字体 116

7.5.2设置字体 116

7.6画笔 117

7.7画刷 117

7.8位图 117

7.8.1装载位图 117

7.8.2显示位图 118

7.8.3示例——显示位图 119

7.9应用案例——自绘制按钮制作 122

7.9.1案例效果图 122

7.9.2需要掌握的知识点 122

7.9.3控件皮肤编程原理 122

7.9.4开发过程 122

7.10应用案例——自绘制表头的列表控件 126

7.10.1案例效果图 127

7.10.2开发过程 127

7.11小结 131

第8章 ActiveX控件制作 132

8.1创建ActiveX控件 132

8.2使用IDE带的工具测试ActiveX控件 133

8.3如何在程序中使用ActiveX控件 133

8.4 ActiveX控件设计 135

8.4.1为ActiveX控件添加属性 135

8.4.2为ActiveX控件添加方法 137

8.5示例——制作PictureBox控件 138

8.6小结 140

第三篇 实战开发必备 141

第9章 动态连接库DLL 141

9.1示例——编写简单的DLL 141

9.2导入导出DLL中的函数 142

9.2.1用DLL导出函数 142

9.2.2在程序中导入DLL中的函数 143

9.3 DLL中导出类 143

9.4如何调试DLL 144

9.5 MFC动态链接库及其使用 147

9.5.1创建扩展MFC DLL 147

9.5.2导入MFC DLL中的类 148

9.6应用案例——将自绘制按钮从MFC DLL中导出 149

9.7小结 149

第10章 HOOK编程 150

10.1编写一个简单的HOOK程序 150

10.1.1安装钩子 150

10.1.2使用HOOK函数处理截获的消息 151

10.1.3示例——截获当前程序的按键消息 151

10.2全局HOOK 153

10.2.1编写全局钩子DLL 153

10.2.2使用程序调用DLL启动钩子 155

10.3应用案例——探索黑客盗取密码的原理 156

10.3.1需要掌握的知识点 156

10.3.2获取密码的原理 156

10.3.3鼠标钩子 156

10.3.4开发密码查看器过程 157

10.4小结 159

第11章 多线程编程 160

11.1如何创建线程 160

11.1.1使用CreateThread创建一个线程 160

11.1.2编写线程函数 161

11.1.3示例——创建一个线程 161

11.1.4示例——创建多个线程,模拟机票订购 162

11.2线程同步 164

11.2.1线程之间切换——时间片 165

11.2.2使用互斥对象来同步线程 166

11.2.3示例——修改多线程例子,使用互斥对象对其进行同步 166

11.2.4示例——使用命名互斥对象判断程序是否多次运行 168

11.3线程同步的其他方法 169

11.3.1示例——使用事件对象完成线程的同步 170

11.3.2示例——使用临界区完成线程的同步 171

11.4线程同步导致的死锁及预防 173

11.4.1示例——使用临界区时,意外退出导致死锁 173

11.4.2预防死锁 175

11.5应用案例——使用多线程完善文件分割工具 175

11.5.1案例效果图 175

11.5.2需要掌握的知识点 175

11.5.3开发过程 175

11.6小结 180

第12章 Socket网络编程 181

12.1 BS模式与CS模式 181

12.2 Winsock库的装入和释放 181

12.3使用sockaddr_in保存客户的地址 181

12.3.1主机字节序到网络字节序之间的转化 182

12.3.2示例——获取本机IP地址 182

12.3.3示例——域名解析 183

12.4 TCP套接字的服务器与客户端设计 184

12.4.1 TCP服务器与客户端过程图 184

12.4.2示例——简单的TCP服务器 185

12.4.3示例——简单的TCP客户端 186

12.5 UDP套接字编程 187

12.5.1 UDP服务器与客户端过程图 188

12.5.2示例——基于UDP的服务器实现 188

12.5.3示例——基于UDP的客户端实现 189

12.6套接字模式 191

12.6.1阻塞模式 191

12.6.2非阻塞模式 191

12.7 select模型应用——管理多个套接字 191

12.7.1 select函数的使用及相关宏 191

12.7.2示例——可以管理多个套接字的TCP服务器 192

12.8 WSAAsyncSelect模型应用——管理多个套接字 194

12.8.1 WSAAsyncSelect的使用方法 194

12.8.2示例——可以管理多个套接字的TCP服务器 195

12.9广播通信 198

12.9.1设置套接字选项 198

12.9.2示例——广播的发送端与接收端 198

12.10应用案例——利用广播开发局域网聊天室 200

12.10.1案例效果图 200

12.10.2开发过程 201

12.11小结 204

第13章 ADO数据库编程 205

13.1使用ADO开发程序 205

13.1.1使用ADO库之前的准备工作 205

13.1.2使用Connection对象连接数据库 205

13.1.3向数据库服务器提交SQL语句 206

13.1.4使用Recordset对象获取Select语句查询结果 207

13.2 ADO中的异常处理 208

13.3封装自己的ADO类 209

13.3.1类的声明 209

13.3.2类的实现 211

13.3.3 ADO类的使用 212

13.4应用案例——ACCESS数据库查看器 214

13.4.1案例效果图 214

13.4.2案例需求 215

13.4.3需要掌握的知识点 215

13.4.4创建工程 215

13.4.5修改框架窗口样式 215

13.4.6添加操作数据库对话框资源及其对应的FormView 216

13.4.7切分窗口 216

13.4.8操作数据库 217

13.5小结 231

第14章 多媒体控制接口MCI编程 232

14.1 MCI设备类型 232

14.2 MCI的编程步骤 232

14.2.1使用mciSendCommand函数发送MCI命令 232

14.2.2示例——打开一个MP3文件并播放 233

14.3封装自己的MCI类 234

14.3.1 MCI类的声明 234

14.3.2 MCI类的实现 235

14.3.3使用MCI类 237

14.4使用MCIWnd播放视频 238

14.5应用案例——编写MP3播放器 239

14.5.1案例效果图 239

14.5.2需要掌握的知识点 240

14.5.3开发过程 240

14.6小结 242

第四篇 实战篇 243

第15章 进程管理器开发 243

15.1案例效果图 243

15.2案例需求 244

15.3需要掌握的知识点 244

15.4进程相关API操作 244

15.5服务相关API操作 245

15.5.1服务的枚举 245

15.5.2服务的启动与停止 246

15.6获得内存、CPU信息 246

15.7启动项及注册表相关操作 247

15.7.1枚举注册表项的值 247

15.7.2删除注册表项的值 248

15.8开发过程 249

15.8.1创建工程 249

15.8.2进程管理 249

15.8.3服务管理 252

15.8.4注册表启动项管理 255

15.8.5状态栏显示信息 259

15.9小结 264

第16章 监视剪贴板程序制作 265

16.1案例效果图 265

16.2案例需求 265

16.3需要掌握的知识点 265

16.4剪贴板查看器操作基础 266

16.4.1获取剪贴板内容 266

16.4.2剪贴板查看器链 267

16.4.3设置当前窗口为剪贴板查看器 267

16.4.4退出时删除链中的当前窗口 268

16.5开发过程 268

16.5.1创建工程 268

16.5.2解析URL模块开发 268

16.5.3剪贴板模块开发 270

16.6小结 272

第17章 多线程HTTP下载工具制作 273

17.1案例效果图 273

17.2案例需求 273

17.3需要掌握的知识点 273

17.4 MFC中的WinInet 274

17.4.1使用MFC WinInet下载文件过程 274

17.4.2示例——使用MFC WinInet读取网页源代码 275

17.4.3示例解析 277

17.5 IE右键菜单原理 278

17.5.1 IE右键菜单对应的注册表 278

17.5.2编写JavaScript启动程序 279

17.6开发过程 281

17.6.1获得命令行参数 281

17.6.2多线程下载类设计 281

17.6.3使用CdownloadThreadManager下载资源 291

17.6.4统计下载速度与下载用时 294

17.7小结 295

第18章 远程控制软件制作 296

18.1案例效果图 296

18.2案例需求和知识点 296

18.2.1案例需求 296

18.2.2需要掌握的知识点 296

18.3图像传输优化方法 297

18.4模拟鼠标动作 297

18.5开发过程 297

18.5.1服务端结构分析 298

18.5.2 GDI结构与链表设计 298

18.5.3初始化GDI链表与清理GDI链表 300

18.5.4启动服务接收网络事件 302

18.5.5保证发送接收大小 304

18.5.6通信协议设计 305

18.5.7发送图像数据 306

18.5.8客户端结构分析 312

18.5.9客户端创建 312

18.5.10客户端GDI结构与链表 312

18.5.11连接服务器 314

18.5.12获取及显示远程图像 316

18.5.13发送鼠标事件 320

18.6小结 321

第19章 学生成绩管理系统开发 322

19.1系统结构分析 322

19.2案例需求 322

19.3数据库设计 323

19.4案例效果图 326

19.5需要掌握的知识点 327

19.6使用DataGrid控件显示数据 328

19.6.1添加DataGrid控件 328

19.6.2在程序中使用DataGrid控件 328

19.7开发过程 329

19.7.1准备工作 329

19.7.2登录窗口 329

19.7.3主窗口 331

19.7.4管理成绩信息窗口 334

19.7.5管理分数对话框 337

19.7.6审核窗口 342

19.8小结 346

第20章 贸易信息管理系统 347

20.1系统分析与数据库设计 347

20.1.1需求分析 347

20.1.2系统设计 347

20.1.3数据库设计 348

20.1.4创建数据库 350

20.2建立项目框架 350

20.2.1选择数据库程序开发技术 351

20.2.2新建项目 351

20.2.3添加ADO封装类和ADO控件 352

20.3系统用户模块 353

20.3.1实现用户登录功能 353

20.3.2用户信息管理 360

20.4实体信息管理模块 365

20.4.1客户信息管理 365

20.4.2供应商信息管理 372

20.4.3员工信息管理 378

20.4.4商品信息管理 380

20.5进销管理模块 386

20.5.1销售管理 386

20.5.2进货管理 392

20.6统计报表模块 398

20.6.1使用水晶报表创建报表 398

20.6.2员工销售业绩统计报表 404

20.6.3各种商品销售情况统计报表 407

20.7系统运行结果 408

20.8小结 408