光盘说明 1.本书代码的运行环境 1~17章 Visual C++ 6.0 2.本书所附光盘实例源码 第1章 实例001——实现C++类的多重继承 实例002——使用虚函数实现运行时多态 实例003——操作符重载实现编译多态(复数的加法运算) 实例004——使用函数模板实现不同数据类型的极值函数 实例005——使用C++实现格式化数据的IO 实例006——实现数字金额的中文大写转换 实例007——将十进制数转换为二进制输出 实例008——产生随机数 实例009——实现排序操作 实例010——使用Windows API创建程序窗口 实例011——使用AppWizard创建基于文档视图结构MFC应用程序框架 实例012——使用AppWizard建立对话框应用程序框架 实例013——实现查找、替换字符串 实例014——根据指定字符分割字符串 实例015——格式化字符串 实例016——CString字符串的类型转换 实例017——获取当前的日期、时间并格式化输出 实例018——计算某日为星期几 实例019——计算两个时间点的时间间隔 实例020——使用CStringArr ay类创建和使用字符串数组 实例021——使用CPtrList类创建和使用链表 第2章 实例022——基本键盘操作——判断按键消息 实例023——在普通视图窗口中实现键盘字符的输入 实例024——创建和使用键盘插入符 实例025——使用程序模拟键盘输入 实例026——在对话框中实现键盘消息响应 实例027——向其他应用程序(记事本)中发送键盘消息 实例028——基本鼠标操作——判断鼠标消息 实例029——创建并设置鼠标光标 实例030——在对话框中定义光标的热区 实例031——创建和使用鼠标提示框 实例032——在视图窗口实现捕捉鼠标 实例033——限制鼠标的作用区域在客户窗口 实例034——使用程序模拟鼠标动作 实例035——创建和使用自定义消息 实例036——使用命令范围消息处理函数 实例037——使用定时器实时显示当前时间 实例038——使用定时器显示毫秒级的时间 第3章 实例039——创建和使用下压按钮、单选框和复选框 实例040——实现位图按钮,设定控件文本的字体 实例041——实现超链接风格的按钮 实例042——实现动画按钮 实例043——使用单行、多行编辑框输入显示文本 实例044——只允许输入字母,并转换为大写的编辑框 实例045——单行编辑控件输入回车后,不响应默认控件处理消息 实例046——设置编辑框控件的背景、文本颜色 实例047——创建完全只读(没有输入焦点,不能选择)的编辑框 实例048——实现只能输入小数的编辑框控件 实例049——使用Rich Edit编辑框格式化显示文本 实例050——设定静态文本框的背景色和文本颜色 实例051——使用Picture控件实现分隔线 实例052——使用静态文本控件显示图标和位图 实例053——在静态文本控件上进行绘图 实例054——创建显示数字钟的静态文本框 实例055——创建超链接风格的静态控件 实例056——添加删除列表框的数据 实例057——创建带有复选框的列表框和可拖放列表项的列表框 实例058——实现选中项缩进的列表框 实例059——创建带有智能水平滚动条的列表框 实例060——添加和获取组合框的列表项 实例061——使用扩展组合框使组合框的选项带有图标 实例062——在组合框的下拉列表框中实现自动选择 实例063——创建颜色选择下拉组合框 实例064——使用滑块控件和调节钮控件设置选择范围 实例065——使用滚动条和进度条进行范围设置 实例066——创建带有文本指示的自定义进度条 实例067——动态创建和删除编辑控件 实例068——在视图中创建和使用控件 第4章 实例069——使用列表控件添加和选择数据项 实例070——动态设置列表控件的不同显示方式 实例071——实现列表控件的扩展风格(拖放、整栏选择和显示网格) 实例072——使用树形控件显示数据 实例073——动态添加、删除树形控件的节点,获取树形控件的选中项 实例074——在树形控件中使用背景位图 实例075——创建可编辑节点的树形控件 实例076——使用树形控件和列表控件显示系统的资源列表 实例077——在程序中使用月历控件 实例078——使用日期控件设置、获取日期时间信息 实例079——使用动画控件播放简单动画 实例080——使用IP地址控件显示和设置IP地址 实例081——使用标签控件创建标签页 实例082——使用热键控件为程序设置热键 实例083——在对话框窗口中使用Microsoft ActiveX控件FlexGrid 实例084——在视图窗口中动态创建ActiveX控件FlexGrid 实例085——使用MFC开发ActiveX控件OleEdit 实例086——通过例程测试使用开发的ActiveX控件OleEdit 实例088——编程实现ActiveX控件的注册 实例089——使用ATL开发ActiveX控件MagicBox 实例090——通过例程测试使用开发的ActiveX控件MagicBox 第5章 实例091——基本下拉菜单的创建与消息响应 实例092——启用、禁用菜单项 实例093——实现单选标记菜单 实例094——动态添加、删除菜单项 实例095——创建带有图标的菜单 实例096——创建弹出式菜单 实例097——实现中英文双语菜单 实例098——为系统菜单添加菜单项 实例099——在对话框中添加菜单 实例100——使用快捷键和发送消息触发菜单命令 实例101——基本工具栏按钮的创建与使用 实例102——保持工具栏按钮组中只有一个按钮被按下 实例103——在工具栏上同时显示位图和文本标签 实例104——为工具栏添加下拉按钮 实例105——在工具栏添加非按钮控件 实例106——实现在同一行上,停靠两个工具栏 实例107——在对话框中添加工具栏 实例108——在状态栏上实时显示当前时间 实例109——在状态栏上显示BMP位图 实例110——在状态栏上添加组合框控件 实例111——在状态栏上显示进度条 实例112——为对话框窗口创建状态栏 实例113——在单文档程序中创建对话条 实例114——实现对话条与窗口消息的信息交互 实例115——创建和使用伸缩条 第6章 实例116——创建模态对话框 实例117——创建非模态对话框 实例118——模态对话框与应用程序之间的数据交换 实例119——非模态对话框与应用程序之间的数据交换 实例120——使用MessageBox消息对话框 实例121——使用AfxMessageBox消息对话框 实例122——使用字体对话框更改文本的字体 实例123——使用颜色对话框选择颜色 实例124——使用文件对话框获取文件路径 实例125——使用多选文件对话框 实例126——重载打开文件对话框,添加删除按钮 实例127——使用查找替换对话框实现查找替换功能 实例128——在程序中使用属性表对话框 实例129——激活使用属性表对话框中的“应用”按钮 实例130——去除属性表对话框中的“应用”按钮 实例131——在对话框中使用属性表 实例132——创建向导对话框 实例133——设置对话框的背景颜色 实例134——使用位图作为对话框背景 实例135——创建半透明对话框窗口 实例136——创建圆形对话框窗口 实例137——全屏幕显示对话框窗口 实例138——动态改变对话框窗口大小 实例139——按下Esc键,对话框不关闭 实例140——禁用对话框右上角的关闭按钮 实例141——可在对话框的任意位置拖动对话框 实例142——为对话框程序制作启动画面 实例143——动态弹出、关闭对话框 实例144——在对话框上动态创建视图 第7章 实例145——在视图中使用CDC进行绘图操作 实例146——在视图中使用CPaintDC进行进行窗口重绘操作 实例147——在视图中使用CWindowDC在整个窗口进行绘图 实例148——在对话框窗口中进行绘图操作 实例149——创建字体进行文本输出 实例150——制作简单的立体字 实例151——制作空心立体字 实例152——显示倾斜的文字 实例153——制作滚动的字幕 实例154——获取系统中已安装的所有字体 实例155——使用不同的画笔绘制图形 实例156——使用不同类型的画刷填充矩形 实例157——使用CRgn对象得到某一特定区域 实例158——提取并显示鼠标所在图像点的颜色 实例159——绘制坐标刻度和自定义线条 实例160——绘制带有箭头的线条 实例161——在视图窗口中显示DDB位图 实例162——实现位图的各种缩放处理 实例163——实现局部放大位图 实例164——实现位图的镜像显示 实例165——通过区域剪裁实现显示椭圆位图 实例166——显示透明位图 实例167——复制位图到剪切板 实例168——抓取屏幕图像并在视图窗口中显示 实例169——创建和使用调色板 实例170——使用不同的映射方式进行绘图 实例171——创建自定义坐标系进行绘图 实例172——制作绚丽的圆环 第8章 实例173——在视图中使用鼠标进行绘图操作(涂鸦) 实例174——在文档中记录绘图数据,并实现窗口重绘 实例175——通过序列化保存文档 实例176——当文档被修改时在标题上给出提醒 实例177——使用对话框与文档视图进行数据交换 实例178——多文档程序实现为新建的文档设置显示字体 实例179——在滚动窗口中实现绘图 实例180——实现动态滚动窗口 实例181——在窗体视图(CFormView)中使用控件 实例182——在列表视图(CListView)中使用列表控件 实例183——改变视图窗口的背景色 实例184——改变MDI框架窗口背景色 实例185——动态设置主框架窗口的图标 实例186——动态设置子框架窗口的图标 实例187——使窗口总在最前显示 实例188——MDI启动时不创建新文档,且限定框架窗口的大小和位置 实例189——限定框架窗口的大小和位置 实例190——限定MDI子框架窗口的最大、最小尺寸 实例191——实现客户窗口的全屏显示 实例192——为程序制作启动界面 实例193——动画启动、关闭窗口并添加位图背景 实例194——改变主窗口上的标题 实例195——为程序创建系统托盘图标 实例196——为程序创建类似迅雷的辅助隐藏窗口 实例197——动态分割窗口,不同窗口对应同一视图 实例198——静态分割窗口,实现窗口的任意切分 实例199——固定分割窗口的分隔线 实例200——动态改变分割窗口的大小 实例201——定制分隔条的外观特性 实例202——分割窗口形成的多视图实现与文档的交互 第9章 实例203——实现“所见即所得”的打印 实例204——设置打印图形的位置 实例205——定制打印固定大小的单页文档 实例206——实现定制打印多页文档 实例207——实现定制打印页的页眉和页脚 实例208——为对话框控件添加ToolTip提示框 实例209——使用AppWizard自动创建WinHelp帮助 实例210——制作WinHelp帮助文件 实例211——向程序中手工添加WinHelp帮助文件 实例212——调试环境配置(Debug模式和Release模式) 实例213——设置位置断点跟踪程序 实例214——设置数据断点跟踪程序 实例215——使用断言宏检测程序的运行状态 实例216——使用跟踪宏在程序运行过程中输出调试信息 实例217——使用TRY-THROW-CATCH结构捕获处理异常 实例218——使用CFileException类捕获文件异常 实例219——为应用程序创建快捷方式 实例220——删除快捷方式 实例221——实现对软件的简单加密 实例222——开发简单的注册机 第10章 实例223——创建文本文件并进行读写数据操作 实例224——在文件的指定位置存放和读取数据 实例225——复制、删除、移动文件 实例226——实现遍历目录下的每个文件 实例227——获取文件的属性 实例228——获取指定文件的图标 实例229——获取系统所有的驱动器以及每个驱动器的序列号 实例230——获取驱动器的文件系统类型 实例231——获取磁盘的空间信息 实例232——判别磁盘驱动器的类型 实例233——获取当前目录、系统目录和Windows目录 实例234——创建和删除目录 实例235——实现删除非空目录 实例236——实现目录的复制操作 实例237——删除指定目录下某种类型的文件 实例238——获取目录的创建时间 实例239——获取应用程序的完整路径 实例240——使用CStdioFile实现在txt文件中逐行读写数据 实例241——使用内存映射文件来共享数据 实例242——创建临时文件 实例243——使用INI文件保存程序的信息 实例244——使用剪贴板实现数据的复制和粘贴 实例245——实现拖放文件到视图窗口 实例246——实现拖放文件到对话框中的编辑控件 实例247——分割大文件到定长小文件 实例248——合并分割的小文件 实例249——使程序开机自动运行 实例250——使用默认浏览器打开某个网页 实例251——枚举注册表的键值名 实例252——设置和修改IE默认主页 实例253——设置软件的使用时限 实例254——限制软件的使用次数 实例255——使窗口开启时保持上次关闭时的大小 实例256——使用注册表模拟软件加密 第11章 实例257——使用Win32 API创建、销毁线程(控制进度条) 实例258——创建MFC用户界面线程 实例259——创建MFC工作者线程,进行耗时计算 实例260——设置线程的优先级 实例261——使用全局结构进行线程间的通信 实例262——使用自定义消息进行线程间的通信 实例263——使用事件对象进行线程间的通信 实例264——使用CEvent对象实现线程同步 实例265——使用临界区对象(CriticalSeciton)实现线程同步 实例266——使用互斥对象(Mutex)实现线程同步 实例267——使用互斥对象(Mutex)实现不同进程间线程同步 实例268——使用信号量(Semaphore)实现线程的同步 实例269——使用多线程进行文件搜索 实例270——获取当前系统的所有进程 实例271——实现应用程序在系统中只能运行一个实例 实例272——获取所有打开窗口程序的句柄、类名及标题 实例273——创建和终止进程 实例274——三种方法实现启动其他的应用程序 实例275——使用剪贴板实现程序间的数据交换 实例276——通过内存映射实现进程间的数据交换 实例277——通过消息机制实现进程间的通信 第12章 实例278——创建导出浮点数四则运算函数的Win32 DLL 实例279——使用显式方式调用DLL实现浮点数的四则运算 实例280——使用隐式方式调用DLL实现浮点数的四则运算 实例281——创建Win32 DLL导出一个全局变量 实例282——调用DLL,获取其导出的全局变量值 实例283——创建Win32 DLL导出一个计算长方体表面积和体积的类 实例284——调用DLL,使用其导出类计算长方体的表面积和体积 实例286——创建MFC常规DLL,通过导出函数显示颜色信息对话框 实例287——调用MFC常规DLL,显示颜色信息对话框 实例288——创建MFC扩展DLL,实现圆形按钮类 实例289——调用MFC扩展DLL,创建圆形按钮 实例290——创建记录键盘动作的全局钩子DLL 实例291——调用键盘钩子DLL,实现监视系统的键盘操作 实例292——创建记录当前鼠标所在窗口标题信息的鼠标钩子DLL 实例293——调用鼠标钩子DLL,显示鼠标所在窗口的标题 实例294——获取当前操作系统的版本信息 实例295——获取系统CPU信息 实例296——获取系统内存的相关信息 实例297——获取当前系统所有安装的硬件设备 实例298——调用系统关机对话框 实例299——编码实现关闭和重启计算机 实例300——实现休眠计算机,并创建快捷键 实例301——显示并设置系统的显示属性 实例302——隐藏显示系统的任务条 实例303——改变系统的桌面壁纸 第13章 实例304——使用CAsyncSocket进行无连接(UDP)通信 实例305——使用CSocket进行有连接(TCP)通信 实例306——CS结构信息转发器的实现(服务器) 实例307——CS结构信息转发器的实现(客户端) 实例308——多人在线的网络聊天室(服务器) 实例309——多人在线的网络聊天室(客户端) 实例310——CS结构点对点信息交互系统(服务器) 实例311——CS结构点对点信息交互系统(客户端) 实例312——使用WinInet通过HTTP协议读取网上文件 实例313——在对话框中,使用WebBrowser控件实现Web浏览器 实例314——使用CHtmlView类,实现类似IE的网页浏览器 实例315——在对话框中显示HTML网页 实例316——获取IE运行实例的标题,并修改其标题 实例317——向IE的工具条上添加自定义的按钮图标 实例318——获取主机名和IP地址 实例319——扫描获取计算机端口的状态 实例320——编程实现收发电子邮件 实例321——利用MSComm控件进行串口通信 第14章 实例322——使用MFC ODBC连接数据源 实例323——使用MFC ODBC查看、编辑数据源中表的数据 实例324——使用MFC ODBC向数据库表中添加、删除记录 实例325——使用Visual C++程序自动设置ODBC数据源 实例326——使用ODBC直接读写Excel文件数据 实例327——使用ADO接口连接数据库 实例328——使用ADO在数据库中创建表,并添加记录 实例329——使用ADO在数据库中遍历、修改和删除记录 实例330——使用ADO Data和DataGrid控件实现遍历、修改、删除、添加记录 实例331——使用ADO直接操作Access数据库 实例332——使用ADO向数据库添加BLOB数据(图像) 实例333——使用ADO从数据库中读出BLOB数据(图像) 实例334——使用SQL语句进行基本的条件查询 实例335——使用SQL语句进行时间条件检索 实例336——使用SQL语句对数据库进行通用操作,使用DataGrid控件显示结果集 实例337——使用Word实现生成、打印数据库报表数据 实例338——使用Excel实现生成、打印数据库报表数据 实例339~342——药品库存管理系统 第15章 实例377——在ADO中调用、执行SQL Server中的存储过程 实例379——在ADO中使用事务处理 第16章 实例380——创建DIB操作的类(CDib) 实例381——使用CDib类实现显示与保存BMP文件 实例382——使用IPicture显示多种格式的图像 实例383~388——使用DIB实现图像的特效显示 综合实例——雷达工程数据的可视化与处理 第17章 实例390——实现“静态”的位图动画 实例391——实现“动态”的位图动画 实例392——使用OpenGL实现绘制三维图形 实例393——使用OpenGL通过动态调整观察点位置实现三维动画 实例394——在OpenGL中,使用纹理显示图形 实例395——用MessageBeep播放WAV文件 实例396——使用PlaySound播放WAV文件 实例397——使用低级波形音频函数播放WAV文件 实例398——创建基于MCI的WAV音频处理类(CMyMCIWave) 实例399——使用CMyMCIWave类创建波形文件播放器 实例400——创建基于MCI的CD音频处理类(CMyMCICD) 实例401——使用CMyMCICD类创建CD播放器 实例402——获取和设置系统音量 实例403——创建基于MCI的数字视频处理类(CMyMCIVideo) 实例404——使用CMyMCIVideo类创建数字视频播放器 实例405——使用MediePlay AcriveX控件创建媒体播放器 实例406——使用VFW实现视频捕捉与保存 综合实例——基于音、视频传输的远程诊断系统