本书以237个Visual C++精彩实例全面解析了C++语言、编程的思路、方法和技巧。该书内容涉及Visual C++编程语言,文档与视图结构,界面、对话框与控件,菜单、工具栏和状态栏,文件与系统,COM组件,数据库,多媒体,ATL与ActiveX控件,以及网络和Internet编程等各个方面。选例经典而具有代表性,分析透彻,编程逻辑思路简练,具有很强的实用性、可操作性和参考价值。\r\n 本书非常适合Visual C++初学者和中级程序员,亦可作为业余爱好者、高校计算机专业师生自学、教学用书,以及专业程序员参考书。\r\n 本版CD内容为本书237个实例的全部源代码。
第1章 C++语言编程基础\r\n\r\n1 C++的封装性\r\n2 C++的继承性\r\n3 C++的多态性\r\n4 类的声明\r\n5 初始化对象\r\n6 虚函数\r\n7 运算符重载\r\n8 使用静态变量\r\n9 函数重载\r\n10 使用函数指针实现回调\r\n11 定义和使用函数对象\r\n12 处理内联虚函数\r\n13 理解位运算符\r\n14 给表达式赋值\r\n15 理解字符串\r\n16 C++数组和指针\r\n\r\n第2章 文档与视图结构\r\n\r\n17 在窗口中心输出字符串\r\n18 设置窗口的初始化大小\r\n19 用SDI实现两个文档模板\r\n20 设置窗口最小化显示\r\n21 改变视图背景\r\n22 控制主窗口的最大和最小尺寸\r\n23 使用多个定时器\r\n24 创建文档模板\r\n25 定制文档和视图类\r\n26 改变窗口图标\r\n27 实现动画图标\r\n28 启动时自动打开上次的文档\r\n29 启动时不创建空文档\r\n30 理解串行化\r\n31 以不同格式保存及显示文件\r\n32 设置视图类的空背景画刷\r\n33 在属性页中添加字体对话框\r\n34 理解切分窗口\r\n35 创建动态切分窗口\r\n36 创建静态切分窗口\r\n37 使用CScrollView类\r\n38 使程序处于最前面\r\n39 移动窗口\r\n40 创建不规则窗口\r\n41 为文档创建多个视图\r\n42 获知与FormView关联的改变\r\n43 实现橡皮区矩形\r\n\r\n第3章 对话框与控件编程\r\n\r\n44 理解对话框\r\n45 生成动态对话框\r\n46 对话框显示不出来\r\n47 在对话框中显示图片\r\n48 改变对话框的背景颜色\r\n49 创建模式对话框\r\n50 创建非模式对话框\r\n51 制作提示对话框\r\n52 控制对话框的大小\r\n53 为对话框加入位图按钮\r\n54 改变控件的颜色\r\n55 实现彩色按钮\r\n56 生成自绘制的控件类\r\n57 运行时指定对话框的按钮\r\n58 在对话框中使用菜单和工具栏\r\n59 使用组合框控件\r\n60 定制编辑框控件中的字符\r\n61 检验列表框是否滚动\r\n62 使用列表框控件\r\n63 使用选项卡控件\r\n64 判断树形控件的展开和收缩\r\n65 使用树形控件\r\n66 使用列表控件\r\n67 单选按钮和复选框\r\n68 使用UpdateData\r\n69 创建对话框\r\n\r\n第4章 菜单、工具栏和状态栏\r\n\r\n70 创建自定义菜单\r\n71 处理弹出菜单消息\r\n72 创建动态菜单\r\n73 给系统菜单添加菜单项\r\n74 响应鼠标消息\r\n75 添加自定义消息\r\n76 消息传递和消息循环\r\n77 确定菜单占据的行数\r\n78 使用浮动菜单\r\n79 动态追加菜单项\r\n80 获取菜单弹出的位置\r\n81 分开类型的MRU菜单\r\n82 控制菜单的大小\r\n83 创建浮动工具栏\r\n84 更新工具栏的状态\r\n85 创建自定义工具栏\r\n86 在工具栏中嵌入组合框\r\n87 控制工具栏的拖动停靠\r\n88 不加载菜单、工具栏和状态栏\r\n89 在工具栏上添加文本标签\r\n90 工具栏停靠\r\n91 让工具栏显示256图像\r\n92 在状态栏中显示进度条\r\n93 在状态栏显示系统时间\r\n94 在状态栏中显示鼠标位置\r\n\r\n第5章 文件与系统编程\r\n\r\n95 文件读写\r\n96 使用文件对话框\r\n97 遍历整个目录树\r\n98 打开文件提示\r\n99 调用html文件\r\n100 修改目录的日期和时间\r\n101 获取文件或文件夹属性\r\n102 将路径转换为长路径名\r\n103 分割文件成多个小文件\r\n104 合并多个文件成一个可执行文件\r\n105 实现文件拖放\r\n106 访问和修改注册表\r\n107 使用注册表保存信息\r\n108 识别操作系统环境\r\n109 检测硬件设备\r\n110 使改变的鼠标光标不闪烁\r\n111 使用应用程序模拟键盘和鼠标按键\r\n112 设置系统时间\r\n113 将应用程序的图标加入到系统托盘中\r\n114 设定计算机名称\r\n115 创建临时文件\r\n116 启动和等待线程结束\r\n117 检测系统中的当前进程\r\n\r\n第6章 COM组件编程\r\n\r\n118 理解COM本质\r\n119 重用C++对象\r\n120 定义COM接口\r\n121 使用接口描述语言IDL\r\n122 定义IUnknown接口\r\n123 实现IUnknown接口\r\n124 获取接口指针\r\n125 定义IClassFactory接口\r\n126 创建永久对象\r\n127 利用类厂创建COM对象\r\n128 对COM库进行初始化\r\n129 实现包容\r\n130 实现聚合\r\n131 COM客户如何使用COM对象\r\n132 定义接口映射表\r\n133 类厂在MFC中实现\r\n134 使用MFC建立COM组件\r\n135 测试COM组件\r\n136 编写COM组件\r\n\r\n第7章 数据库编程\r\n\r\n137 连接ODBC数据源\r\n138 动态加载ODBC数据源\r\n139 处理记录集与对应表\r\n140 查询ODBC数据源中的数据\r\n141 在MFC ODBC中进行事务处理\r\n142 配置ODBC数据源\r\n143 利用SQL语句删除记录\r\n144 绕过ODBC口令提问\r\n145 分配连接句柄\r\n146 执行SQL语句\r\n147 释放语句句柄\r\n148 断开并释放数据源连接\r\n149 使用DAO进行数据库编程\r\n150 操作数据库对象\r\n151 使用DAO进行事务处理\r\n152 直接调用DAO函数\r\n153 使用ADO访问数据库\r\n154 利用UDL文件建立ADO连接\r\n155 使用ADO操作记录集\r\n156 使用ADO进行事务处理\r\n157 使用ADO执行SQL命令\r\n158 获取数据链接的属性\r\n159 降低记录集文件的数量\r\n160 建立自定义数据库类\r\n\r\n第8章 多媒体编程\r\n\r\n161 多媒体系统的关键技术\r\n162 多媒体的文件格式\r\n163 创建字体对象\r\n164 显示旋转文本\r\n165 输出空心字\r\n166 显示渐变字\r\n167 输出艺术字\r\n168 制作应用程序真彩封页\r\n169 设置窗口字体属性\r\n170 实现马赛克效果\r\n171 实现浏览位图\r\n172 创建OpenGL项目\r\n173 播放视频文件\r\n174 播放无声AVI动画文件\r\n175 创建多媒体播放器\r\n176 制作MIDI文件播放程序\r\n177 利用MCI播放大型WAV文件\r\n178 制作CD播放器\r\n179 访问MCI\r\n180 创建纹理场景\r\n181 绘制Bezier线框曲面\r\n\r\n第9章 ATL与ActiveX控件编程\r\n\r\n182 理解ATL技术\r\n183 使用ATL窗口类\r\n184 创建ATL项目\r\n185 使用ATL实现一个窗口\r\n186 实现一个对话框\r\n187 实现容器窗口\r\n188 增加一个连接点\r\n189 创建ATL Server项目\r\n190 使用ATL实现接口\r\n191 创建ATL Server Web项目\r\n192 添加和改变ActiveX控件储备事件\r\n193 添加ActiveX控件的自定义事件\r\n194 创建ActiveX控件项目\r\n195 定义ActiveX控件的属性\r\n196 显示ActiveX控件的属性页\r\n197 创建ActiveX容器程序\r\n198 在容器程序中管理嵌入对象\r\n199 使用鼠标来修改对象\r\n200 创建ActiveX服务器项目\r\n\r\n第10章 Internet应用程序编程\r\n\r\n201 初始化WinSock\r\n202 实现网络聊天室服务器\r\n203 创建套接字\r\n204 传递套接字描述符和指针\r\n205 从数据报套接字接收数据\r\n206 向数据报套接字发送数据\r\n207 流式套接字连接发送和接收数据\r\n208 异步接收数据\r\n209 使用WinInet函数\r\n210 连接Internet服务器\r\n211 回调函数与句柄建立链接\r\n212 实现客户端通信功能\r\n213 从FTP、HTTP或Gopher服务器中获取数据\r\n214 从文件句柄读取数据并移动文件指针\r\n215 获取和设置FTP服务器的当前目录\r\n216 FTP下载文件\r\n217 FTP上传文件\r\n218 FTP打开文件\r\n219 发送HTTP请求\r\n220 处理HttpSendRequest()函数的调用错误\r\n221 获取服务器的响应信息\r\n222 实现HTTP协议\r\n223 使用CInternetSession对象检索文件\r\n224 HTTP服务器处理\r\n225 Gopher服务器处理\r\n226 发送电子邮件\r\n227 实现网页浏览\r\n228 控制浏览器\r\n229 使用POP协议接收电子邮件\r\n230 处理发送和接收数据的超时\r\n231 创建Internet服务器扩展程序\r\n232 从Internet上下载文件\r\n233 实现串行通信\r\n234 在单线程中实现串口通信\r\n235 在多线程下实现串行通信\r\n236 读取网卡的MAC地址\r\n237 使用CSockets进行文件传送