首页>参考读物>计算机科学与技术>软件与程序设计

Visual C++范例大全
作者 : 孙皓
出版日期 : 2009-03-19
ISBN : 7-111-26140-7
定价 : 89.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 722
开本 : 16开
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书内容概述
■Visual C++与C++开发基础(21个实例)
■消息映射与处理(17个实例)
■Windows基本控件的开发使用(30个实例)
■高级控件的开发使用(22个实例)
■菜单、工具栏和状态栏的开发(25个实例)
■对话框程序设计(29个实例)
■文本输出与屏幕绘图(28个实例)
■文档/视图框架体系(30个实例)
■打印、帮助、调试与发布(20个实例)
■文件操作与注册表编程(34个实例)
■进程与线程(21个实例)
■DLL开发与系统编程(26个实例)
■网络通信编程(18个实例)
■数据库及其相关技术(21个实例)
■使用SQL查询、操纵数据库(37个实例)
■数字图像处理基础(10个实例)
■多媒体开发(18个实例)

图书特色

图书前言

Visual C++是Microsoft的一个全面而完善的程序开发工具,从传统的Windows API编程到MFC编程,再到基于组件的编程,Visual C++都为之提供了强大而方便的设计工具。与其他编程环境相比,Visual C++几乎能够完成Windows各个方面的应用。因为Visual C++产生的代码执行效率较高,所以其更适合于开发一些系统核心级别或者技术尖端的产品。
  现在越来越多的人正在加入Visual C++程序员的行列。由于前一段时间.NET的盛行,VC.net、VC 2005的相继推出,对Visual C++的经典版本Visual C++ 6.0有些冷落。但经过一段时间的摸索,C++程序员们又一致认为Visual C++ 6.0是开发C++ Windows应用程序最理想的工具。
  本书立足于VC的基础开发,采用程序实例带动知识点的形式,通过400多个具体的开发实例,按照由易到难、由浅入深的顺序,系统而又全面地介绍VC开发的方方面面知识。在实例的选取上,注重实例的典型和通用性,且分解知识点。在实例的设计上,程序代码尽量简洁明了,同时又注重程序设计步骤的详尽,使读者可以按照步骤实现实例的制作,同时掌握相关的知识点。
   本书特点
  ·对代码注释十分细致,几乎达到了一行一注释的地步,这样读者可以很快地了解代码的含义。
  ·涉及面广,囊括了VC的各种应用领域,包括数据库、网络、多媒体等方面。
  ·代码全部取自项目实践,可以直接复制到项目中,有很强的指导意义。
  本书内容
  用实例说话是本书的最大特色。全书共分为17章,内容如下。
  第1章“VC与C++开发基础”主要给出了C++面向对象特效以及常用算法,MFC基本应用程序框架的创建以及MFC提供的常用通用类的使用实例。
第2章“消息映射与处理”主要给出了Windows消息,包括鼠标消息、键盘消息、窗口消息和自定义消息的映射和处理实例。
  第3章“Windows基本控件的开发使用”主要给出了Windows基本控件,包括按钮控件、编辑框、静态控件、列表框、组合框、滑块、调节钮、进度条等的使用实例。
  第4章“高级控件的开发使用”主要给出了Visual C++ 6.0中提供的一些高级控件,包括动画控件、列表控件、表头控件、树形控件、日历控件、IP地址控件、标签控件、热键控件和ActiveX控件的使用实例。
  第5章“菜单、工具栏和状态栏的开发”主要给出了菜单、工具栏和状态栏的设计与使用实例。
  第6章“对话框程序设计”主要给出了基本对话框的创建、使用以及属性表对话框和公用对话框的使用实例。
  第7章“文本输出与屏幕绘图”主要给出了使用GDI和设备描述表(DC)进行屏幕绘图和文本输出的相关实例。
  第8章“文档/视图框架体系”主要给出了MFC文档视图框架结构有关文档、视图操作、界面设计以及窗口分割的相关实例。
  第9章“打印、帮助、调试与发布”主要给出了有关Visual C++的打印、帮助、调试与发布操作的实例。
  第10章“文件操作与注册表编程”主要给出了常用的文件与磁盘驱动器操作,以及注册表操作的相关实例。
  第11章“进程与线程”主要给出了进程与线程的创建、线程的同步、线程间通信以及进程间的通信实例。
  第12章“DLL开发与系统编程”主要给出了一些有关DLL开发、调用以及有关系统操作的编程实例。
  第13章“网络编程”主要给出有关WinSock网络通信程序、Internet相关客户程序开发以及网络相关信息的获取与设置等常用操作的实例。
  第14章“数据库及其相关技术”主要给出使用ODBC和ADO技术开发数据库应用程序的相关实例。
  第15章“使用SQL查询、操纵数据库”以SQL Server数据库系统为例,通过具体的实例介绍了常用的SQL查询和操纵数据库语句的使用。
  第16章“数字图像处理基础”主要介绍了使用DIB显示图像的实例,并给出了工程数据可视化的工程应用实例。
  第17章“多媒体开发”主要给出了有关声音、动画、视频等媒体的编程处理实例,并给出了一个有关网络传输、音频、视频的捕捉与传输的综合应用实例。
  读者定位
  本书主要定位于VC程序设计的初、中级读者,同时也可用作VC工程开发的参考手册和速查手册。
  本书作者
  本书主要由孙皓编写。其他参与编写和资料整理的人员有冯华君、刘博、刘燕、叶青、张军、张立娟、张艺、彭涛、徐磊、戎伟、朱毅、李佳、李玉涵、杨利润、杨春娇、武鹏、潘中强、王丹、王宁、王西莉、石淑珍、程彩红、邵毅、郑丹丹、郑海平、顾旭光等。

  编 者

封底文字

本书内容概述■Visual C++与C++开发基础(21个实例)■消息映射与处理(17个实例)■Windows基本控件的开发使用(30个实例)■高级控件的开发使用(22个实例)■菜单、工具栏和状态栏的开发(25个实例)■对话框程序设计(29个实例)■文本输出与屏幕绘图(28个实例)■文档/视图框架体系(30个实例)■打印、帮助、调试与发布(20个实例)■文件操作与注册表编程(34个实例)■进程与线程(21个实例)■DLL开发与系统编程(26个实例)■网络通信编程(18个实例)■数据库及其相关技术(21个实例)■使用SQL查询、操纵数据库(37个实例)■数字图像处理基础(10个实例)■多媒体开发(18个实例)

作者简介

孙皓:暂无简介

图书目录

前 言
第一篇  VC程序开发基础
第1章  VC与C++开发基础 1
1.1  C++面向对象特性 1
实例1:实现C++类的多重继承 1
实例2:使用虚函数实现运行时多态 3
实例3:使用操作符重载实现编译多态——复数的加法运算 6
实例4:使用函数模板实现不同数据类型的极值函数 7
1.2  C++常用的操作与算法 8
实例5:使用C++实现格式化数据的I/O 8
实例6:实现数字金额的中文大写转换 10
实例7:将十进制数转换为二进制输出 11
实例8:产生随机数 12
实例9:实现排序操作 13
1.3  创建基本的应用程序框架 16
实例10:使用Windows API创建程序窗口 16
实例11:使用AppWizard创建基于文档/视图结构MFC应用程序框架 18
实例12:使用AppWizard建立对话框应用程序框架 21
1.4  使用CString类进行字符串操作 23
实例13:查找、替换字符串 23
实例14:根据指定字符分割字符串 25
实例15:格式化字符串 26
实例16:CString字符串的类型转换 28
1.5  时间与日期操作 29
实例17:获取当前的日期、时间并格式化输出 30
实例18:计算某日为星期几 31
实例19:计算两个时间点的时间间隔 33
1.6  MFC集合类的使用 34
实例20:使用CStringArray类创建和使用字符串数组 34
实例21:使用CPtrList类创建和使用链表 36
第2章  消息映射与处理 40
2.1  键盘消息及处理 40
实例22:基本键盘操作—判断按键消息 40
实例23:在普通视图窗口中实现键盘字符的输入 42
实例24:创建和使用键盘插入符 43
实例25:使用程序模拟键盘输入 45
实例26:在对话框中实现键盘消息响应 46
实例27:向其他应用程序(记事本)中发送键盘消息 47
2.2  鼠标消息及处理 48
实例28:基本鼠标操作—判断鼠标消息 48
实例29:创建并设置鼠标光标 51
实例30:在对话框中定义光标的热区 52
实例31:创建和使用鼠标提示框 53
实例32:在视图窗口实现捕捉鼠标 54
实例33:限制鼠标的作用区域只在客户窗口 56
实例34:使用程序模拟鼠标动作 57
2.3  其他消息处理 58
实例35:创建和使用自定义消息 58
实例36:使用命令范围添加消息处理函数 59
实例37:使用定时器实时显示当前时间 61
实例38:使用定时器显示毫秒级的时间 62
第二篇  VC基本程序开发要素
第3章  Windows基本控件的开发使用 65
3.1  按钮控件的使用 65
实例39:创建和使用下压按钮、单选框和复选框 65
实例40:实现位图按钮,设定控件文本的字体 68
实例41:实现超链接风格的按钮 70
实例42:实现动画按钮 74
3.2  编辑框控件的使用 76
实例43:使用单行、多行编辑框输入显示文本 76
实例44:只允许输入字母,并转换为大写的编辑框 77
实例45:在单行编辑框控件输入回车后,不响应默认控件处理消息 78
实例46:设置编辑框控件的背景、文本颜色 79
实例47:创建完全只读(没有输入焦点、不能选择)的编辑框 81
实例48:实现只能输入小数的编辑框控件 82
实例49:使用RichEdit编辑框格式化显示文本 84
3.3  静态控件的使用 87
实例50:设定静态文本框的背景色和文本颜色 87
实例51:使用Picture控件实现分隔线 88
实例52:使用静态文本控件显示图标和位图 88
实例53:在静态文本控件上进行绘图 89
实例54:创建显示数字钟的静态文本框 91
实例55:创建超链接风格的静态控件 94
3.4  使用列表框控件 96
实例56:添加删除列表框的数据 96
实例57:创建带有复选框的列表框和可拖放列表项的列表框 100
实例58:实现选中项缩进的列表框 101
实例59:创建带有智能水平滚动条的列表框 103
3.5  组合框控件的使用 105
实例60:添加和获取组合框的列表项 105
实例61:使用扩展组合框使组合框的选项带有图标 106
实例62:在组合框的下拉列表框中实现自动选择 108
实例63:创建颜色选择下拉组合框 109
3.6  滑块、调节钮、进度条和滚动条控件的使用 111
实例64:使用滑块控件和调节钮控件设置选择范围 111
实例65:使用滚动条和进度条进行范围设置 113
实例66:创建带有文本指示的自定义进度条 115
3.7  动态创建控件 117
实例67:动态创建和删除编辑控件 117
实例68:在视图中创建和使用控件 119
第4章  高级控件的开发使用 122
4.1 列表控件的使用 122
实例69:使用列表控件添加和选择数据项 122
实例70:动态设置列表控件的不同显示方式 125
实例71:实现列表控件的扩展风格——拖放、整栏选择和显示网格 126
4.2  树形控件的使用 127
实例72:使用树形控件显示数据 127
实例73:动态添加、删除树形控件的结点,获取树形控件的选中项 129
实例74:在树形控件中使用背景位图 130
实例75:创建可编辑结点的树形控件 133
实例76:使用树形控件和列表控件显示系统的资源列表 134
4.3  时间、日期控制控件的使用 137
实例77:在程序中使用月历控件 137
实例78:使用日期控件设置、获取日期时间信息 139
4.4  其他一些控件的使用 140
实例79:使用动画控件播放简单动画 140
实例80:使用IP地址控件显示和设置IP地址 142
实例81:使用标签控件创建标签页 143
实例82:使用热键控件为程序设置热键 145
4.5  ActiveX控件的使用与开发 147
实例83:在对话框窗口中使用Microsoft ActiveX控件FlexGrid 147
实例84:在视图窗口中动态创建ActiveX控件FlexGrid 151
实例85:使用MFC开发ActiveX控件OleEdit 154
实例86:通过例程测试ActiveX控件OleEdit 157
实例87:使用ActiveX Control Test Container工具测试ActiveX 158
实例88:通过编程实现ActiveX控件的注册 159
实例89:使用ATL开发ActiveX控件MagicBox 161
实例90:通过例程测试ActiveX控件MagicBox 165
第5章  菜单、工具栏和状态栏的开发 167
5.1  菜单的设计与开发 167
实例91:基本下拉菜单的创建与消息响应 167
实例92:创建启用、禁用菜单项 168
实例93:创建单选标记菜单 169
实例94:动态添加、删除菜单项 170
实例95:创建带有图标的菜单 172
实例96:创建弹出式菜单 173
实例97:实现中英文双语菜单 174
实例98:为系统菜单添加菜单项 176
实例99:在对话框中添加菜单 178
实例100:使用快捷键和发送消息触发菜单命令 178
5.2  工具栏的设计与开发 179
实例101:基本工具栏按钮的创建与使用 179
实例102:保持工具栏按钮组中只有一个按钮被按下 181
实例103:在工具栏上同时显示位图和文本标签 182
实例104:为工具栏添加下拉按钮 183
实例105:在工具栏添加非按钮控件 185
实例106:实现在同一行上停靠两个工具栏 187
实例107:在对话框中添加工具栏 189
5.3  状态栏的设计与开发 190
实例108:在状态栏上实时显示当前时间 190
实例109:在状态栏上显示BMP位图 192
实例110:在状态栏上添加组合框控件 193
实例111:在状态栏上显示进度条 195
实例112:为对话框窗口创建状态栏 196
5.4  对话条和伸缩条 198
实例113:在单文档程序中创建对话条 198
实例114:实现对话条与窗口消息的信息交互 201
实例115:创建和使用伸缩条 202
第6章  对话框程序设计 204
6.1  基本对话框的创建与使用 204
实例116:创建模态对话框 204
实例117:创建非模态对话框 205
实例118:模态对话框与应用程序之间的数据交换 207
实例119:非模态对话框与应用程序之间的数据交换 209
6.2  通用对话框的创建与使用 212
实例120:使用MessageBox消息对话框 212
实例121:使用AfxMessageBox消息对话框 214
实例122:使用“字体”对话框更改文本的字体 215
实例123:使用“颜色”对话框选择颜色 216
实例124:使用文件对话框获取文件路径 217
实例125:使用多选文件对话框 218
实例126:重载打开文件对话框,添加删除按钮 219
实例127:使用查找替换对话框实现查找替换功能 221
6.3  属性表对话框与向导对话框 223
实例128:在程序中使用属性表对话框 224
实例129:激活属性表对话框中的“应用”按钮 226
实例130:去除属性表对话框中的“应用”按钮 228
实例131:在对话框中使用属性表 229
实例132:创建向导对话框 229
6.4  对话框程序界面设计 231
实例133:设置对话框的背景颜色 231
实例134:使用位图作为对话框背景 232
实例135:创建半透明对话框窗口 233
实例136:创建圆形对话框窗口 234
实例137:全屏幕显示对话框窗口 234
实例138:动态改变对话框窗口的大小 235
实例139:按下Esc键,对话框不关闭 237
实例140:禁用对话框右上角的关闭按钮 237
实例141:可在对话框的任意位置拖动对话框 238
实例142:为对话框程序制作启动画面 238
实例143:动态弹出、关闭对话框 240
实例144:在对话框上动态创建视图 242
第7章  文本输出与屏幕绘图 243
7.1  MFC设备描述表(DC) 243
实例145:在视图中使用CDC进行绘图操作 243
实例146:在视图中使用CPaintDC进行窗口重绘操作 244
实例147:在视图中使用CWindowDC在整个窗口进行绘图 245
实例148:在对话框窗口中进行绘图操作 245
7.2  字体与文本显示 246
实例149:创建字体进行文本输出 246
实例150:制作简单的立体字 248
实例151:制作空心立体字 248
实例152:显示倾斜的文字 249
实例153:制作滚动的字幕 251
实例154:获取系统中已安装的所有字体 252
7.3  画笔、画刷及区域对象的使用 253
实例155:使用不同的画笔绘制图形 253
实例156:使用不同类型的画刷填充矩形 254
实例157:使用CRgn对象得到某一特定区域 256
实例158:提取并显示鼠标指针所在图像点的颜色 258
实例159:绘制坐标刻度和自定义线条 259
实例160:绘制带有箭头的线条 260
7.4  位图对象与调色板的使用 262
实例161:在视图窗口中显示DDB位图 262
实例162:实现位图的各种缩放处理 263
实例163:实现局部放大位图 266
实例164:实现位图的镜像显示 268
实例165:通过区域剪裁显示椭圆位图 270
实例166:显示透明位图 271
实例167:复制位图到剪切板 272
实例168:抓取屏幕图像并在视图窗口中显示 273
实例169:创建和使用调色板 275
7.5  坐标系统与映射方式 277
实例170:使用不同的映射方式进行绘图 277
实例171:创建自定义坐标系进行绘图 278
实例172:制作绚丽的圆环 279
第8章  文档/视图框架体系 282
8.1  基本的文档、视图操作 282
实例173:在视图中使用鼠标进行绘图操作(涂鸦) 282
实例174:在文档中记录绘图数据,并实现窗口重绘 284
实例175:通过序列化保存文档 286
实例176:当文档被修改时在标题上给出提醒 288
实例177:使用对话框与文档视图进行数据交换 289
实例178:在多文档程序中为新建的文档设置显示字体 290
8.2  各种视图类型的使用 291
实例179:在滚动窗口中实现绘图 292
实例180:实现动态滚动窗口 293
实例181:在窗体视图(CFormView)中使用控件 295
实例182:在列表视图(CListView)中使用列表控件 296
8.3  文档/视图框架的程序界面设计 297
实例183:改变视图窗口的背景色 297
实例184:改变MDI框架窗口背景色 298
实例185:动态设置主框架窗口的图标 300
实例186:动态设置子框架窗口的图标 300
实例187:使窗口总在最前显示 301
实例188:MDI启动时不创建新文档,且限定框架窗口的大小和位置 301
实例189:限定框架窗口的大小和位置 303
实例190:限定MDI子框架窗口的最大、最小尺寸 303
实例191:实现客户窗口的全屏显示 304
实例192:为程序制作启动界面 306
实例193:以动画的方式启动、关闭窗口并添加位图背景 308
实例194:改变主窗口上的标题 309
实例195:为程序创建系统托盘图标 310
实例196:为程序创建类似迅雷的辅助隐藏窗口 312
8.4  窗口分割与多视图的实现 313
实例197:动态分割窗口,不同窗口对应同一视图 313
实例198:静态分割窗口,实现窗口的任意切分 314
实例199:固定分割窗口的分隔线 315
实例200:动态改变分割窗口的大小 317
实例201:定制分隔条的外观特性 318
实例202:多视图与文档的交互 318
第9章  打印、帮助、调试与发布 323
9.1  打印操作 323
实例203:实现“所见即所得”的打印 323
实例204:设置打印图形的位置 325
实例205:定制打印固定大小的单页文档 325
实例206:定制打印多页文档 327
实例207:定制打印页的页眉和页脚 330
9.2  帮助的使用 331
实例208:为对话框控件添加ToolTip提示框 331
实例209:使用AppWizard自动创建WinHelp帮助 332
实例210:制作WinHelp帮助文件 333
实例211:向程序中手工添加WinHelp帮助文件 335
9.3  调试技术与异常处理 336
实例212:调试环境配置—Debug模式和Release模式 336
实例213:设置位置断点跟踪程序 338
实例214:设置数据断点跟踪程序 339
实例215:使用断言宏检测程序的运行状态 340
实例216:使用跟踪宏在程序运行过程中输出调试信息 340
实例217:使用TRY-THROW-CATCH结构捕获处理异常 341
实例218:使用CFileException类捕获文件异常 342
9.4  程序的发布 344
实例219:为应用程序创建快捷方式 344
实例220:删除快捷方式 347
实例221:实现对软件的简单加密 349
实例222:开发简单的注册机 350
第三篇  VC高级开发技术
第10章  文件操作与注册表编程 351
10.1  基本的文件操作 351
实例223:创建文本文件并进行读写数据操作 351
实例224:在文件的指定位置存放和读取数据 353
实例225:复制、删除、移动文件 354
实例226:实现遍历目录下的每个文件 355
实例227:获取文件的属性 357
实例228:获取指定文件的图标 358
10.2  驱动器与文件目录操作 359
实例229:获取系统所有驱动器以及每个驱动器的序列号 359
实例230:获取驱动器的文件系统类型 361
实例231:获取磁盘的空间信息 361
实例232:判别磁盘驱动器的类型 362
实例233:获取当前目录、系统目录和Windows目录 364
实例234:创建和删除目录 365
实例235:删除非空目录 366
实例236:实现目录的复制操作 368
实例237:删除指定目录下某种类型的文件 369
实例238:获取目录的创建时间 372
实例239:获取应用程序的完整路径 372
10.3  常用文件操作 373
实例240:使用CStdioFile实现在txt文件中逐行读写数据 373
实例241:使用内存映射文件来共享数据 375
实例242:创建临时文件 376
实例243:使用INI文件保存程序的信息 376
实例244:使用剪贴板实现数据的复制和粘贴 378
实例245:实现拖放文件到视图窗口 379
实例246:实现拖放文件到对话框中的编辑控件 380
实例247:分割大文件为定长小文件 381
实例248:合并分割的小文件 383
10.4  注册表编程 385
实例249:使程序开机自动运行 385
实例250:使用默认浏览器打开某个网页 386
实例251:枚举注册表的键值名 387
实例252:设置和修改IE默认主页 388
实例253:设置软件的使用期限 391
实例254:限制软件的使用次数 394
实例255:使窗口开启时保持上次关闭时的大小 396
实例256:使用注册表模拟软件加密 397
第11章  进程与线程 400
11.1  基本线程的创建与使用 400
实例257:使用Win32 API创建、销毁线程——控制进度条 400
实例258:创建MFC用户界面线程 402
实例259:创建MFC工作线程,进行耗时计算 404
实例260:设置线程的优先级 405
11.2  线程间的通信 406
实例261:使用全局结构进行线程间的通信 406
实例262:使用自定义消息进行线程间的通信 408
实例263:使用事件对象进行线程间的通信 410
11.3  线程的同步处理 412
实例264:使用CEvent对象实现线程同步 412
实例265:使用临界区对象(CriticalSection)实现线程同步 415
实例266:使用互斥对象(Mutex)实现线程同步 416
实例267:使用互斥对象(Mutex)实现不同进程间线程同步 417
实例268:使用信号量(Semaphore)实现线程同步 418
实例269:使用多线程进行文件搜索 419
11.4  进程的基本操作 422
实例270:获取当前系统的所有进程 422
实例271:实现应用程序在系统中只能运行一个实例 423
实例272:获取所有打开窗口程序的句柄、类名及标题 424
实例273:创建和终止进程 426
实例274:使用3种方法启动其他应用程序 427
11.5  进程间的通信 428
实例275:使用剪贴板实现程序间的数据交换 428
实例276:通过内存映射实现进程间的数据交换 430
实例277:通过消息机制实现进程间的通信 431
第12章  DLL开发与系统编程 433
12.1  基本Win32 DLL的创建与调用 433
实例278:创建导出浮点数四则运算函数的Win32 DLL 433
实例279:使用显式方式调用DLL实现浮点数的四则运算 435
实例280:使用隐式方式调用DLL实现浮点数的四则运算 436
实例281:创建Win32 DLL,导出一个全局变量 437
实例282:调用DLL,获取其导出的全局变量值 438
实例283:创建Win32 DLL,导出一个计算长方体表面积和体积的类 439
实例284:调用DLL,使用其导出类计算长方体的表面积和体积 440
实例285:使用Depends工具查看程序调用的DLL文件 441
12.2  MFC常规DLL和扩展DLL的开发 441
实例286:创建MFC常规DLL,通过导出函数显示颜色信息对话框 442
实例287:调用MFC常规DLL,显示颜色信息对话框 443
实例288:创建MFC扩展DLL,实现圆形按钮类 444
实例289:调用MFC扩展DLL,创建圆形按钮 446
12.3  钩子技术的应用 446
实例290:创建记录键盘动作的全局钩子DLL 447
实例291:调用键盘钩子DLL,实现监视系统的键盘操作 448
实例292:创建记录当前鼠标指针所在窗口标题信息的鼠标钩子DLL 449
实例293:调用鼠标钩子DLL,显示鼠标指针所在窗口的标题 452
12.4  系统编程 453
实例294:获取当前操作系统的版本信息 453
实例295:获取系统CPU信息 455
实例296:获取系统内存的相关信息 456
实例297:获取当前系统所有安装的硬件设备 457
实例298:调用系统关机对话框 459
实例299:利用编码实现关闭和重启计算机 459
实例300:实现休眠计算机,并创建快捷键 461
实例301:显示并设置系统的显示属性 462
实例302:隐藏/显示系统的任务条 464
实例303:改变系统的桌面壁纸 466
第四篇  VC专项应用开发技术
第13章  网络编程 469
13.1  使用WinSock开发基本的网络程序 469
实例304:使用CAsyncSocket进行无连接(UDP)通信 469
实例305:使用CSocket进行有连接(TCP)通信 473
实例306:C/S结构信息转发器的实现—服务器 475
实例307:C/S结构信息转发器的实现—客户端 478
13.2  典型的网络应用实例 480
实例308:多人在线的网络聊天室—服务器 480
实例309:多人在线的网络聊天室—客户端 482
实例310:C/S结构点对点信息交互系统—服务器 485
实例311:C/S结构点对点信息交互系统—客户端 488
13.3  Internet相关程序开发 491
实例312:使用WinInet通过HTTP协议读取网上文件 491
实例313:在对话框中,使用WebBrowser控件实现Web浏览器 493
实例314:使用CHtmlView类,实现类似IE的网页浏览器 494
实例315:在对话框中显示HTML网页 496
实例316:获取IE运行实例的标题,并修改其标题 497
实例317:向IE的工具条上添加自定义的按钮图标 498
13.4  其他相关网络设置、网络程序的开发 500
实例318:获取主机名和IP地址 500
实例319:扫描获取计算机端口的状态 500
实例320:利用编程实现收发电子邮件 501
实例321:利用MSComm控件进行串口通信 503
第14章  数据库及其相关技术 506
14.1  使用MFC ODBC进行基本的数据库开发 506
实例322:使用MFC ODBC连接数据源 506
实例323:使用MFC ODBC查看、编辑数据源中表的数据 507
实例324:使用MFC ODBC向数据库表中添加、删除记录 509
实例325:自动设置ODBC数据源 511
实例326:使用ODBC直接读写Excel文件数据 511
14.2  使用ADO进行基本的数据库开发 514
实例327:使用ADO接口连接数据库 514
实例328:使用ADO在数据库中创建表,并添加记录 517
实例329:使用ADO在数据库中遍历、修改和删除记录 518
实例330:使用ADO Data和DataGrid控件实现遍历、修改、删除、添加记录 523
实例331:使用ADO直接操作Access数据库 526
实例332:使用ADO向数据库添加BLOB数据(图像) 529
实例333:使用ADO从数据库中读出BLOB数据(图像) 532
14.3  数据库的查询及报表打印操作 534
实例334:使用SQL语句进行基本的条件查询 534
实例335:使用SQL语句进行时间条件检索 536
实例336:使用SQL语句对数据库进行通用操作,使用DataGrid控件显示结果集 538
实例337:使用Word实现生成、打印数据库报表数据 543
实例338:使用Excel实现生成、打印数据库报表数据 547
14.4  数据库系统开发案例—药品库存管理系统 551
实例339:药品库存管理系统概述与功能分析 551
实例340:药品库存管理系统数据库设计 552
实例341:药品库存管理系统类库设计 553
实例342:药品库存管理系统功能代码实现 555
第15章  使用SQL查询、操纵数据库 569
15.1  SQL简介与实例表 569
15.2  基本查询操作 570
实例343:按列对表进行查询 571
实例344:排序查询结果 571
实例345:进行模糊查询操作 572
实例346:限制检索数据的范围 574
实例347:NULL值的判断 575
实例348:返回查询结果的部分行 575
15.3  在查询语句中使用函数 576
实例349:连接并重命名列 576
实例350:在查询语句中使用字符串函数 577
实例351:在查询语句中使用数学函数 578
实例352:在查询语句中使用时间、日期函数 579
实例353:在查询时为表中的空字段添加默认信息 581
15.4  在查询语句中使用聚合函数进行统计分析 582
实例354:在查询中使用COUNT函数统计记录的个数 582
实例355:在查询中使用SUM函数实现求和运算 583
实例356:在查询中使用AVG函数实现求均值运算 583
实例357:在查询中使用MAX/MIN函数实现求极值 584
实例358:在查询中重复记录的统计 584
15.5  使用分组查询 585
实例359:在查询中进行分类汇总统计 585
实例360:在查询中根据多列信息进行分类汇总统计 585
实例361:在查询中对分组统计结果进行再筛选 586
实例362:在查询中实现对分组统计结果进行统计处理 586
15.6  多表连接查询 587
实例363:使用内连接进行多表查询 587
实例364:使用自连接简化查询过程 588
实例365:使用左外连接进行多表查询 589
实例366:使用右外连接进行多表查询 590
实例367:连接表后进行统计分析 591
15.7  使用子查询进行数据检索 592
实例368:在比较运算符中使用子查询 592
实例369:在查询中使用修改的比较运算符引入子查询 593
实例370:在查询语句中使用[NOT]IN引入子查询 594
实例371:在查询语句中使用EXISTS引入子查询 594
15.8  数据操纵与事务处理 595
实例372:使用INSERT向数据库表中添加记录 595
实例373:使用SELECT…INTO语句复制表中的数据 596
实例374:使用UPDATE语句修改记录 597
实例375:使用DELETE语句删除记录 597
实例376:创建和使用存储过程 598
实例377:在ADO中调用、执行SQL Server中的存储过程 599
实例378:在SQL中使用事务控制 602
实例379:在ADO中使用事务处理 604
第16章  数字图像处理基础 606
16.1  数字图像的显示 606
实例380:创建DIB操作的类—CDib 606
实例381:使用CDib类实现显示与保存BMP文件 615
实例382:使用IPicture显示多种格式的图像 620
16.2  使用DIB实现图像的特效显示 624
实例383:图像的扫描特效显示 624
实例384:图像的移动特效显示 627
实例385:图像的马赛克特效显示 630
实例386:图像的百叶窗特效显示 632
实例387:图像的栅格条交错特效显示 634
实例388:图像的伸缩特效显示 636
16.3  综合实例—雷达工程数据的可视化与处理 638
16.3.1  工程实例总体介绍 639
16.3.2  窗口分割与标尺的实现 639
16.3.3  从数据文件读取雷达数据 645
16.3.4  将雷达数据显示为BMP位图 648
16.3.5  开发要点:BMP文件的结构及显示 652
第17章  多媒体开发 654
17.1  动画开发 654
实例389:实现“静态”的位图动画 654
实例390:实现“动态”的位图动画 656
实例391:绘制三维图形 658
实例392:通过动态调整观察点位置实现三维动画 663
实例393:使用纹理显示图形 666
17.2  音频处理 668
实例394:用MessageBeep播放WAV文件 668
实例395:使用PlaySound播放WAV文件 669
实例396:使用低级波形音频函数播放WAV文件 671
实例397:创建基于MCI的WAV音频处理类—CMyMCIWave 676
实例398:使用CMyMCIWave类创建波形文件播放器 682
实例399:创建基于MCI的CD音频处理类—CMyMCICD 685
实例400:使用CMyMCICD类创建CD播放器 688
实例401:获取和设置系统音量 691
17.3  视频处理 695
实例402:创建基于MCI的数字视频处理类——CMyMCIVideo 695
实例403:使用CMyMCIVideo类创建数字视频播放器 699
实例404:使用MediaPlay ActiveX控件创建媒体播放器 701
实例405:使用VFW实现视频捕捉与保存 703
17.4  综合实例—基于音、视频传输的远程诊断系统 708
17.4.1  系统项目介绍 709
17.4.2  系统程序的工作流程 710
17.4.3  系统的核心类 714

教学资源推荐
作者: 夏天
作者: (美)布莱恩·R. 霍尔(Brian R.Hall) 凯文·J.斯隆卡(Kevin J.Slonka)著
作者: 王雷 刘志成 周晶 编著
作者: 钱丽萍 汪立东 张健 编著
参考读物推荐
作者: 陶国荣 著
作者: 冯伟兴 贺波 王臣业 等编著
作者: 白鉴聪 潘军锋 罗剑波