《Visual C++典型模块与项目实战大全》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:明日科技等编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2012
  • ISBN:9787121161117
  • 页数:522 页
图书介绍:本书以Visual C++程序开发人员经常开发的经典模块和实用项目为主线,全面介绍了项目开发的完整过程及开发中遇到的各种问题、技巧和经验。全书共3篇21章,分为典型模块篇、项目实战篇和环境搭建篇,其中,典型模块篇包括界面换肤软件、视频聊天软件、局域网电脑监控专家等,项目实战篇包括学生考试管理系统、酒店餐饮管理系统、人力资源管理系统和超市进销存管理系统等,环境搭建篇主要包括熟悉Visual C++开发环境、SQL Server数据库环境搭建、Oracle数据库环境搭建和程序打包及安装等。

第一篇 典型模块篇 2

第1章 界面换肤软件(Visual C++6.0+动态链接库+钩子技术) 2

1.1 界面换肤模块概述 3

1.1.1 模块概述 3

1.1.2 程序预览 3

1.2 关键技术 5

1.2.1 创建动态链接库 5

1.2.2 向动态链接库中添加位图资源 6

1.2.3 向动态链接库中添加C++类 8

1.2.4 修改对话框的窗口过程 10

1.2.5 为窗口关联一个自定义数据结构 12

1.2.6 为应用程序安装钩子 13

1.3 加载皮肤文件实现界面换肤 14

1.3.1 概述 14

1.3.2 设计皮肤文件 14

1.3.3 设计主应用程序 18

1.4 加载组件库实现界面换肤 32

1.4.1 概述 32

1.4.2 设计界面换肤组件库 33

1.4.3 设计界面换肤演示程序 39

第2章 视频聊天软件(Visual C++6.0+Socket网络技术+VFW技术) 42

2.1 视频聊天软件概述 43

2.1.1 概述 43

2.1.2 功能描述 43

2.1.3 程序预览 43

2.2 关键技术 44

2.2.1 VFW数字视频捕捉技术 44

2.2.2 使用CSocket类实现网络通信 45

2.3 服务器端 46

2.3.1 概述 46

2.3.2 界面设计 46

2.3.3 实现过程 46

2.4 客户端 50

2.4.1 概述 50

2.4.2 界面设计 51

2.4.3 实现过程 51

第3章 局域网电脑监控专家(Visual C++6.0+Socket网络技术+JPEG数据流技术) 53

3.1 局域网电脑监控概述 54

3.1.1 模块概述 54

3.1.2 需求分析 54

3.1.3 程序预览 54

3.2 关键技术 55

3.2.1 获取屏幕设备上下文存储为位图数据流 55

3.2.2 将位图数据流压缩为JPEG数据流 56

3.2.3 将JPEG数据流分成多个数据报发送到服务器 57

3.2.4 将多个数据报组合为一个完整的JPEG数据流 57

3.2.5 根据JPEG数据流显示图像 59

3.2.6 双击实现窗口全屏显示 59

3.3 客户端主窗口设计 60

3.3.1 概述 60

3.3.2 实现过程 60

3.4 服务器端主窗口设计 65

3.4.1 概述 65

3.4.2 实现过程 65

3.5 远程控制窗口设计 69

3.5.1 概述 69

3.5.2 界面布局 69

3.5.3 实现过程 69

第4章 屏幕录像大师(Visual C++6.0+AVI视频技术) 72

4.1 屏幕录像大师模块概述 73

4.1.1 模块概述 73

4.1.2 功能结构 73

4.1.3 模块预览 73

4.2 关键技术 75

4.2.1 屏幕抓图 75

4.2.2 抓图时抓取鼠标 76

4.2.3 将位图数据流写入AVI文件 77

4.2.4 将AVI文件转换成位图数据 81

4.2.5 获得AVI文件属性 82

4.2.6 根据运行状态显示托盘图标 83

4.2.7 获得磁盘的剩余空间 85

4.2.8 动态生成录像文件名 86

4.3 主窗体设计 87

4.4.1 概述 87

4.4.2 界面设计 88

4.4.3 功能实现 88

4.4 录像截取模块设计 98

4.4.1 概述 98

4.4.2 界面设计 98

4.4.3 功能实现 99

4.5 录像合成模块设计 104

4.5.1 概述 104

4.5.2 界面设计 104

4.5.3 功能实现 104

第5章 计算机语音识别系统(Visual C++6.0+SAPI技术) 108

5.1 系统概述 109

5.1.1 开发背景 109

5.1.2 功能结构 109

5.1.3 程序预览 109

5.2 关键技术 111

5.2.1 开发包的安装与使用 111

5.2.2 声音特征采集 112

5.3 主程序界面设计 115

5.4 语音朗读模块 117

5.4.1 语音朗读概述 117

5.4.2 实现过程 117

5.5 口型朗读模块 119

5.5.1 口型朗读模块概述 119

5.5.2 实现过程 119

5.6 朗读配置模块 125

5.6.1 朗读配置模块概述 125

5.6.2 实现过程 125

5.7 音频流朗读模块 130

5.7.1 音频流朗读模块概述 130

5.7.2 实现过程 130

5.8 语音识别模块 134

5.8.1 语音识别概述 134

5.8.2 实现过程 134

第6章 叶子图像处理软件(Visual C++6.0+GDI+图像处理技术) 137

6.1 图像处理模块概述 138

6.1.1 模块概述 138

6.1.2 功能结构 138

6.1.3 模块预览 139

6.2 关键技术 141

6.2.1 位图数据的存储形式 141

6.2.2 任意角度旋转图像 143

6.2.3 实现图像缩放 145

6.2.4 在Visual C++中使用GDI+进行图像处理 147

6.2.5 实现图像的水印效果 148

6.2.6 利用滚动窗口浏览图片 148

6.2.7 使用子对话框实现图像的局部选择 151

6.3 图像旋转模块设计 154

6.3.1 概述 154

6.3.2 界面布局 155

6.3.3 实现过程 155

6.4 图像平移模块设计 161

6.4.1 概述 161

6.4.2 界面布局 162

6.4.3 实现过程 162

6.5 图像缩放模块设计 166

6.5.1 概述 166

6.5.2 界面布局 166

6.5.3 实现过程 167

6.6 图像水印效果模块设计 171

6.6.1 概述 171

6.6.2 界面布局 171

6.6.3 实现过程 172

6.7 位图转换为JPEG模块设计 173

6.7.1 概述 173

6.7.2 界面布局 174

6.7.3 实现过程 174

6.8 照片版式处理模块设计 178

6.8.1 概述 178

6.8.2 界面布局 179

6.8.3 实现过程 179

第7章 桌面精灵(Visual C++6.0+注册表操作技术+Microsoft Access 2003数据库) 185

7.1 桌面精灵模块概述 186

7.1.1 模块概述 186

7.1.2 功能结构 186

7.1.3 程序预览 186

7.2 关键技术 187

7.2.1 阳历转换成阴历的算法 187

7.2.2 时钟的算法 191

7.2.3 实现鼠标穿透 192

7.2.4 窗体置顶及嵌入桌面 193

7.2.5 添加系统托盘 194

7.2.6 开机自动运行 195

7.2.7 自绘右键快捷菜单 195

7.2.8 带图标的按钮控件 200

7.3 主窗体设计 201

7.3.1 概述 201

7.3.2 界面设计 202

7.3.3 实现过程 202

7.4 新建备忘录模块设计 210

7.4.1 概述 210

7.4.2 界面设计 210

7.4.3 实现过程 211

7.5 新建纪念日模块设计 214

7.5.1 概述 214

7.5.2 界面设计 215

7.5.3 实现过程 215

7.6 纪念日列表模块设计 218

7.6.1 概述 218

7.6.2 界面设计 219

7.6.3 实现过程 219

7.7 窗口设置模块设计 222

7.7.1 概述 222

7.7.2 界面设计 222

7.7.3 实现过程 223

7.8 提示窗口模块设计 224

7.8.1 概述 224

7.8.2 界面设计 225

7.8.3 实现过程 225

第8章 办公小秘书(Visual C++6.0+Access数据库+INI文件操作技术) 231

8.1 办公小秘书模块概述 232

8.1.1 模块概述 232

8.1.2 功能结构 232

8.1.3 模块预览 232

8.2 关键技术 233

8.2.1 如QQ般自动隐藏 233

8.2.2 按需要设计文本框 235

8.2.3 设计计算器的圆角按钮 237

8.2.4 回行数据在INI文件中的读取与写入 238

8.2.5 根据数据库数据生成复选框 239

8.2.6 饼形图显示投票结果 241

8.2.7 为程序添加系统托盘 242

8.3 主窗体设计 244

8.3.1 概述 244

8.3.2 界面布局 245

8.3.3 实现过程 245

8.4 计算器设计 247

8.4.1 概述 247

8.4.2 界面布局 247

8.4.3 实现过程 248

8.5 便利贴设计 253

8.5.1 概述 253

8.5.2 界面布局 253

8.5.3 实现过程 254

8.6 加班模块设计 256

8.6.1 概述 256

8.6.2 界面布局 257

8.6.3 实现过程 258

8.7 投票项目模块设计 261

8.7.1 概述 261

8.7.2 界面布局 261

8.7.3 实现过程 262

第9章 通讯新干线(Visual C++6.0+SQL Server 2005实现) 264

9.1 通讯新干线概述 265

9.1.1 模块概述 265

9.1.2 功能结构 265

9.2 关键技术 265

9.2.1 设计选项卡 265

9.2.2 绘制对话框的四周 267

9.3 数据库设计 272

9.3.1 数据表的建立 272

9.3.2 数据库操作流程 272

9.4 通讯新干线主程序模块 273

9.5 数据库连接模块 288

9.6 数据备份模块 292

9.7 数据还原模块 294

9.8 数据初始化模块 297

9.9 开发技巧与难点分析 299

9.9.1 使用try...catch捕捉错误 299

9.9.2 数据库记录指针的正确使用 300

第10章 SQL数据库提取器(Visual C++6.0+Word、Excel相关类+bcp工具) 302

10.1 SQL数据库提取器概述 303

10.1.1 模块概述 303

10.1.2 功能结构 303

10.1.3 程序预览 303

10.2 关键技术 305

10.2.1 获得数据表、视图和存储过程 305

10.2.2 获得表结构 305

10.2.3 向Word文档中插入表格 306

10.2.4 向Word表格中插入图片 307

10.2.5 向Excel表格中插入图片 308

10.2.6 使用bcp实用工具导出数据 308

10.3 主窗体 311

10.3.1 功能概述 311

10.3.2 窗体界面设计 311

10.3.3 功能实现 312

10.4 附加数据库模块设计 319

10.4.1 功能概述 319

10.4.2 窗体界面设计 319

10.4.3 功能实现 320

10.5 备份数据库模块设计 322

10.5.1 功能概述 322

10.5.2 窗体界面设计 322

10.5.3 功能实现 323

10.6 数据导出模块设计 324

10.6.1 功能概述 324

10.6.2 窗体界面设计 325

10.6.3 功能实现 325

10.7 配置ODBC数据源模块设计 332

10.7.1 功能概述 332

10.7.2 窗体界面设计 332

10.7.3 功能实现 333

第11章 万能打印模块(Visual C++6.0+Access数据库+SQL Server数据库) 334

11.1 万能打印模块概述 335

11.1.1 模块概述 335

11.1.2 功能结构 335

11.1.3 程序预览 335

11.2 关键技术 337

11.2.1 滚动条设置 337

11.2.2 打印中的页码计算和分页预览功能算法 339

11.2.3 数据库查询功能 341

11.2.4 打印控制功能 343

11.2.5 如何解决屏幕和打印机分辨率不统一问题 345

11.2.6 打印新一页 345

11.3 主窗体 346

11.3.1 功能概述 346

11.3.2 窗体界面设计 346

11.3.3 功能实现 347

11.4 Access数据库选择窗体 351

11.4.1 功能概述 351

11.4.2 窗体界面设计 352

11.4.3 功能实现 353

11.5 SQL Server数据库选择窗体 355

11.5.1 功能概述 355

11.5.2 窗体界面设计 355

11.5.3 功能实现 356

11.6 数据库查询模块 359

11.6.1 功能概述 359

11.6.2 窗体界面设计 360

11.6.3 功能实现 360

11.7 打印设置模块 363

11.7.1 功能概述 363

11.7.2 窗体界面设计 363

11.7.3 功能实现 364

11.8 打印预览及打印模块 369

11.8.1 功能概述 369

11.8.2 窗体界面设计 370

11.8.3 功能实现 370

第12章 软件注册模块(Visual C++6.0+电脑硬件信息获取+注册表操作技术) 384

12.1 软件注册模块概述 385

12.1.1 模块概述 385

12.1.2 功能结构 385

12.1.3 程序预览 385

12.2 关键技术 387

12.2.1 获取CPU序列号 387

12.2.2 获得磁盘序列号 387

12.2.3 获得网卡地址 388

12.2.4 生成注册码 389

12.2.5 根据注册表中的数据限制试用次数 389

12.2.6 注册快捷键 390

12.2.7 一次性粘贴注册码 391

12.3 注册码生成器 393

12.3.1 功能概述 393

12.3.2 窗体界面设计 393

12.3.3 实现过程 394

12.4 软件注册模块主窗体 396

12.4.1 功能概述 396

12.4.2 窗体界面设计 397

12.4.3 实现过程 397

12.5 注册模块设计 398

12.5.1 功能概述 398

12.5.2 窗体界面设计 398

12.5.3 实现过程 399

12.6 注册向导模块设计 400

12.6.1 功能概述 400

12.6.2 窗体界面设计 401

12.6.3 实现过程 402

第13章 系统优化模块(Visual C++6.0+系统信息获取+注册表操作技术) 404

13.1 系统优化模块概述 405

13.1.1 模块概述 405

13.1.2 功能结构 405

13.2 关键技术 405

13.2.1 自绘标题栏 405

13.2.2 获得任务列表 410

13.2.3 获得正在运行的进程 411

13.2.4 为列表视图控件关联右键菜单 412

13.2.5 清空回收站 413

13.2.6 清空“运行”中历史记录 414

13.2.7 清空IE历史记录 415

13.2.8 调用控制面板工具 415

13.3 主窗体设计 416

13.3.1 概述 416

13.3.2 界面布局 416

13.3.3 功能实现 417

13.4 控制面板操作模块 419

13.4.1 概述 419

13.4.2 界面布局 420

13.4.3 功能实现 421

13.5 磁盘空间整理模块 423

13.5.1 概述 423

13.5.2 界面布局 423

13.5.3 功能实现 424

13.6 垃圾文件清理模块 427

13.6.1 概述 427

13.6.2 界面布局 427

13.6.3 功能实现 428

13.7 系统任务管理模块 430

13.7.1 概述 430

13.7.2 界面布局 430

13.7.3 功能实现 431

第二篇 项目实战篇 435

第14章 学生考试管理系统(Visual C++6.0+SQL Server 2005实现) 435

14.1 开发背景 436

14.2 系统分析 436

14.3 系统设计 436

14.3.1 系统目标 436

14.3.2 系统功能结构 437

14.4 数据库设计 437

14.4.1 数据库分析 437

14.4.2 设计表结构 438

14.5 学生考试模块设计 440

14.5.1 学生考试模块概述 440

14.5.2 学生考试模块技术分析 440

14.5.3 学生考试模块实现过程 441

14.6 学生查分模块设计 452

14.6.1 学生查分模块概述 452

14.6.2 学生查分模块技术分析 453

14.6.3 学生查分模块实现过程 454

14.7 后台管理主窗口设计 456

14.7.1 后台管理主窗口概述 456

14.7.2 后台管理主窗口技术分析 457

14.7.3 后台管理主窗口实现过程 457

14.8 学生信息管理模块设计 460

14.8.1 学生信息管理模块概述 460

14.8.2 学生信息管理技术分析 461

14.8.3 学生信息管理模块实现过程 461

14.9 试题管理模块设计 465

14.9.1 试题管理模块概述 465

14.9.2 试题管理模块技术分析 466

14.9.3 试题管理模块实现过程 467

14.10 学生分数查询模块设计 472

14.10.1 学生分数查询模块概述 472

14.10.2 学生分数查询模块实现过程 473

第15章 酒店餐饮管理系统(Visual C++6.0+Microsoft Access 2003实现) 480

15.1 开发背景 481

15.2 需求分析 481

15.3 系统设计 481

15.3.1 系统目标 481

15.3.2 系统功能结构 481

15.3.3 系统预览 482

15.3.4 业务流程图 483

15.3.5 数据库设计 483

15.4 公共类设计 488

15.5 主窗体设计 489

15.6 注册模块设计 492

15.6.1 注册模块概述 492

15.6.2 注册模块技术分析 492

15.6.3 注册模块实现过程 493

15.7 登录模块设计 494

15.7.1 登录模块概述 494

15.7.2 登录模块技术分析 495

15.7.3 登录模块实现过程 495

15.8 开台模块设计 497

15.8.1 开台模块概述 497

15.8.2 开台模块技术分析 497

15.8.3 开台模块实现过程 498

15.9 点菜模块设计 500

15.9.1 点菜模块概述 500

15.9.2 点菜模块技术分析 501

15.9.3 点菜模块实现过程 501

15.9.4 单元测试 507

15.10 结账模块设计 508

15.10.1 结账模块概述 508

15.10.2 结账模块技术分析 508

15.10.3 结账模块实现过程 508

15.10.4 单元测试 513

15.11 数据库维护模块设计 513

15.11.1 数据库维护模块概述 513

15.11.2 数据库维护模块技术分析 514

15.11.3 数据库维护模块实现过程 514

15.11.4 单元测试 516

15.12 开发问题解析 517

15.13 项目文件清单 518

15.14 本章总结 519