logo资料库

mfc经典例程150例.pdf

第1页 / 共494页
第2页 / 共494页
第3页 / 共494页
第4页 / 共494页
第5页 / 共494页
第6页 / 共494页
第7页 / 共494页
第8页 / 共494页
资料共494页,剩余部分请下载后查看
书名页
版权页
策划说明
实例源代码下载说明
前言
目录
第1 章界面编程实例
实例2 为对话框程序制作真彩色启动封面
实例1 为单文档程序制作真彩色启动封面
实例3 在菜单中显示图标
实例4 制作圆角矩形窗口
实例5 静态切分窗口
实例6 在切分窗口中使用多个视类
实例7 动态切分窗口
实例8 设计字符形状的窗口
实例9 窗口的动画效果
实例10 设置窗口的光标
实例11 为对话框添加主菜单
实例12 带有工具栏的对话框
实例13 为对话框添加状态条
实例14 添加对话框条
实例15 在窗口中应用“橡皮带”
实例16 为对话框添加右键菜单
实例17 动态设置窗口的图标
实例18 为应用程序添加多语言菜单
实例19 在窗口的状态栏中显示时间
实例20 显示半透明的对话框窗口
第2 章图形图像处理实例
实例21 在绘图过程中捕获鼠标
实例22 橡皮筋功能的实现
实例23 显示透明图像
实例24 捕捉屏幕图像
实例25 创建逻辑字体
实例26 显示资源中的位图
实例27 显示磁盘上的外部BMP 文件
实例28 以透明图像构造窗口形状
实例29 空心字体效果演示
实例30 显示动画光标
实例31 在剪辑路径内绘图
实例32 绘制颜色渐变的图形
实例33 旋转文本
实例34 绘制旋转效果的图形
实例35 枚举字体
实例36 用图像平铺形状
实例37 图案填充的文字
实例38 在一个区域中剪辑
实例39 创建线性梯度
实例40 多种风格的端点
实例41 使用颜色矩阵设置图像中的Alpha
实例42 绘制半透明线条
实例43 创建轨迹梯度
实例44 使用颜色再变换表
实例45 绘制自定义虚线
实例46 旋转和扭曲图像
实例47 字符路径
实例48 绘制用纹理填充的图形
实例49 绘制基数样条
实例50 显示JPG 和GIF 图像
第3 章文件与系统控制编程实例
实例51 系统右键菜单的修改
实例52 程序的互斥运行
实例53 禁止用户关闭Windows
实例54 读写ini 文件
实例55 设置程序热键
实例56 获取系统的实时时间
实例57 列举系统中有效的驱动器
实例58 关闭操作系统
实例59 用CFile 类进行文件读写
实例60 用CStdioFile 类进行文件读写
实例61 序列化数据
实例62 获取环境变量
实例63 获取文件属性
实例64 获取系统文件夹的路径
实例65 查找文件
实例66 向IE 工具栏上添加按钮(1)
实例67 向IE 工具栏上添加按钮(2)
实例68 获取扩展名对应的图标
实例69 将文件删除到回收站
实例70 获得Windows 2000 中用户名称列表
实例71 获取所有进程的路径信息
实例72 调用指定的Windows 程序
实例73 建立运行后会自动删除自己的程序
实例74 文件关联
实例75 建立快捷方式
实例76 创建线程
实例77 用全局变量在线程间通信
实例78 用自定义消息在线程间通信
实例79 用Event 对象在线程间通信
实例80 模拟键盘操作
实例81 模拟鼠标操作
第4 章控件与MFC 编程实例
实例82 用Edit Box 显示当前时间
实例83 用Animate 控件播放AVI 动画
实例84 应用Tab Control 制作复杂界面
实例85 动态创建按钮
实例86 在List Box 中显示列表信息
实例87 用Combo Box 控件显示列表信息
实例88 用Tree Control 中显示分级信息
实例89 用List Control 中显示信息
实例90 用IP Address 控件编辑IP 地址
实例91 用Rich Edit 控件编辑文档
实例92 用Date Time Picker 选择时间
实例93 Slider 控件的应用
实例94 应用Hot Key 控件设置热键
实例95 字符串的格式化
实例96 字符串的查找和提取
实例97 CArray 类的应用
实例98 读写CTypedPtrArray 类
实例99 应用CPtrArray 类进行数据存储
实例100 链表的创建与存储
实例101 链表的遍历与查找
实例102 用COleDateTime 类处理时间
实例103 用CFileDialog 类选择文件
实例104 用CColorDialog 类选择颜色
实例105 修改对话框上控件的文本颜色
第5 章数据库开发实例
实例106 用DAO 技术获取数据库信息
实例107 用DAO 在数据库中执行SQL 语句
实例108 使DAO 支持Access 2000 数据库
实例109 用DAO 在程序中动态创建数据库
实例110 用DAO 把数据库装到控件中
实例111 在DAO 中查找记录集的数据
实例112 正确统计DAO 记录集中记录的数目
实例113 在程序中创建ODBC 数据源
实例114 自定义一个CRecordset 类
实例115 获取ODBC 中的字段信息
实例116 遍历ODBC 记录集的数据
实例117 用SQL 编辑ODBC 数据库中的记录
实例118 创建单文档ODBC 应用程序
实例119 在ODBC 应用程序中编辑记录
实例120 ODBC 记录的筛选和排序
实例121 使用ADO 浏览数据库记录
实例122 在ADO 中执行存储过程
实例123 在ADO 中统计数据库记录数目
实例124 应用ActiveX 控件浏览数据
实例125 制作图表
实例126 压缩数据库
实例127 修改数据库密码
第6 章其他技术开发实例
实例128 用OPENGL 绘制三角形
实例129 OPENGL 的正射投影变换
实例130 OPENGL 中旋转图形
实例131 键盘操作的动画
实例132 鼠标操作的动画
实例133 建立最简单的OLE 容器程序
实例134 保存OLE 项的信息
实例135 为OLE 项设置跟踪矩形
实例136 在OLE 容器程序中显示多个OLE 项
实例137 对OLE 项的单击测试
实例138 响应鼠标的双击操作
实例139 OLE 项与剪贴板
实例140 MMControl 控件播放多媒体
实例141 Rich Textbox 控件显示rtf 文件
实例142 正确统计中英文混合字符串的长度
实例143 在局域网内使用信使服务
实例144 使程序随系统启动
实例145 递归调用
实例146 枚举对话框上的所有控件
实例147 发送中文消息字符
实例148 获取和显示汉字内码
实例149 自定义Edit Box 的可输入内容
实例150 使Edit Box 控件只接受数字输入
Visual C++ 6.0 应用编程 150 例 尹立民 王兴东 等编著
内 容 提 要 本书主要是为具有一定 Visual C++应用基础的读者编写的,全书通过 150 个实例,全面、深入地介绍 了利用 Visual C++ 6.0 开发应用程序的常用方法和技巧。全书共分为 6 章,主要讲解了 Visual C++ 6.0 中 界面效果、图形图像处理、文件与系统功能控制、控件应用与 MFC 编程、数据库开发等内容。这些实例 简单实用、典型性强、功能突出,很多实例使用的技术可以解决一类问题,读者在掌握实例中的技术或技 巧后,使用这些技术可以试着实现更复杂的功能、应用到更多方面。 本书内容丰富、结构合理,叙述简明,可以作为广大编程爱好者提高编程水平的自学教材,也可以供 程序开发人员和大专院校有关师生作为参考资料。 未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。 版权所有,侵权必究。 图书在版编目(CIP)数据 Visual C++ 6.0 应用编程 150 例/尹立民编著.—北京:电子工业出版社,2004.3 (编程沙龙丛书) ISBN 7-5053-9674-9 Ⅰ.V... Ⅱ.尹... Ⅲ.C 语言-程序设计 Ⅳ.TP312 中国版本图书馆 CIP 数据核字(2004)第 011551 号 责任编辑: 张瑞喜 印 刷: 北京市天竺颖华印刷厂 出版发行: 电子工业出版社出版 北京市海淀区万寿路 173 信箱 邮编 100036 经 销: 各地新华书店  开 本: 787×1092 1/16 印张:31 字数:678 千字 印 次: 2004 年 7 月第 2 次印刷 印 数: 6001~8000 册 定价:42.00 元  凡购买电子工业出版社的图书,如有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部 联系。联系电话:(010)68279077。质量投诉请发邮件至 zlts@phei.com.cn,盗版侵权举报请发邮件至 dbqq@phei.com.cn。
策划说明 很多初学编程的读者,在看过一些讲述基础应用的书籍后学会了软件的基本操作,或 者在学校里学习了一些基本编程语言之后,常常陷入困境——对进一步的应用一知半解, 对用该软件进行开发并完成一项具体的课题或项目感到困难和茫然。一些指导开发的实例 图书所讲的实例往往是工程实例,对一些基本的编程模块着墨甚少,使读者学起来很吃力。 《编程沙龙》丛书就是在这样的情况下产生的,我们希望这套丛书能够交给广大初学编程 的读者一把钥匙,使大家能够快速掌握软件开发技术并能切实投入实际应用。 本套丛书将那些庞大的应用开发实例分解成 150 个小的开发实例模块,并以实例为主 线,引导读者步步深入,掌握各种开发语言和开发工具的应用。每本书的实例均以“应用” 和“编程”为主题,绝大部分实例都可以完整地实现一个功能。读者通过对这些小的编程 实例进行模仿和变化,可以学会利用自己学到的基础知识编写简单的实际应用案例。当然 在理解范例的讲解过程中,读者又会学到新的软件开发技术,并且进一步扩展,从而在学 习实例的过程中得到了双重提高——一方面把自己以前掌握的知识应用到实例上;另一方 面从这些实例中又可以学习到新的知识,最后达到融会贯通的目的。 本套丛书的作者都是长期从事软件开发实践的一线程序员,他们对这些实例的编程要 点进行了简单明了的总结,对实例的扩展应用进行了画龙点睛的提示,这些宝贵经验对于 读者深入掌握书中实例所包含的技术知识是非常有益的。 需要特别说明的是,如果读者对编程是一个完全的新手,直接阅读这套书是有一定困 难的。建议读者在学习这套书之前,首先学习编程的基础知识(在此,向您推荐我们出版的 《新世纪电脑应用培训教程》系列中有关程序设计培训教程的图书)。 《编程沙龙》丛书首批推出了 6 本,内容涵盖目前主流编程软件:Visual Basic.NET、 Visual C#.NET、Visual C++.NET、Visual FoxPro、Delphi 及 Java 等,出版后受到了读者的 欢迎。很多读者反映希望出版 Visual Stutio 6.0 方面的实例书,为此,我们又组织了《Visual Basic 6.0 应用编程 150 例》、《Visual C++ 6.0 应用编程 150 例》,以及 ASP、网页特效应用 编程等方面的实例图书,希望能满足不同读者多方面的需求。 今后我们还会根据读者的反馈和技术的发展推出更多新的品种。 我们将这套丛书命名为“编程沙龙”,也希望借此机会建立一个与学习编程和从事编程 工作的读者交流的真正的沙龙,让我们一起交流,共同进步! 把你编程的经验与困难告诉我们,把你学习的快乐与苦恼告诉我们,那么下一批“编 程沙龙”的书中,闪耀的将是你的智慧! 编 者 2004 年 1 月
实例源代码下载说明 为了最大限度地降低读者的购书成本,本书中的实例源代码可免费从网上下载。 网 址:http://www.firstarcicl.com.cn 编程沙龙丛书已出版以下品种: 书 号 TP8937 TP8947 TP8946 TP8936 TP9367 TP9142 TP9673 TP9674 书 名 Visual Basic.NET 应用编程 150 例 Delphi 7 应用编程 150 例 Visual C++.NET 应用编程 150 例 Visual C#.NET 应用编程 150 例 Visual FoxPro 7.0 应用编程 150 例 Java 2 应用编程 150 例 Visual Basic 6.0 应用编程 150 例 Visual C++ 6.0 应用编程 150 例 定 价 ¥38.00 ¥36.00 ¥35.00 ¥35.00 ¥48.00 ¥42.00 ¥39.00 ¥42.00 各册图书的实例代码均可从 http://www.firstarcicl.com.cn 之“资源下载”栏目中免费下 载,另有: Visual Studio .NET 安装与设置 Visual Studio .NET 实例运行的条件 《Visual FoxPro 7.0 应用编程 150 例》说明文件 等超值服务文件免费供读者学习参考,敬请随时关注网站内容更新。 如果读者下载源代码有困难,可来信来电与我们联系,联系方法如下。 地 址:北京市海淀区玉渊潭南路 85 号君安写字楼 4 层 邮 编:100036 电 话:(010)68253127 联 系 人:鄂卫华 服务邮箱:lilye@phei.com.cn 编辑邮箱:zhangruixi@phei.com.cn
前 言 Visual C++ 6.0 是运行于 Windows 平台上的可视化集成开发环境,它是 Microsoft 公司 开发的 Microsoft Visual Studio 系列的一部分。Visual C++ 6.0 集程序的界面设计、代码编辑、 编译、连接和调试等功能于一体,为编程人员提供了一个方便而又完整的开发界面和许多 有效的辅助开发工具。 本书通过 150 个编程实例,介绍了以下技术内容。 第 1 章通过 20 个实例演示如何利用 Visual C++ 6.0 来美化应用程序的界面,主要内容 包括半透明的对话框、显示图标的菜单、异型窗口、切分窗口、动画效果窗口等。通过本 章的学习,可以轻松实现别具匠心的界面效果,增强人机交互功能。 第 2 章通过 30 个实例介绍图形图像处理技术,包括橡皮筋功能、透明图像、捕捉屏幕 图像、文字的旋转、图像平铺形状、创建线性梯度、演示多种风格的端点和绘制自定义虚 线等。掌握这些内容,可以绘制非常复杂的图形,满足常用的图形图像处理要求。 第 3 章通过 31 个实例介绍了文件处理和系统控制技术,内容涵盖了系统右键菜单的修 改、程序的互斥运行、读写 ini 文件、设置程序热键、应用 CFile 和 CStdioFile 类读写文件、 序列化数据、向 IE 工具栏上添加按钮等。通过本章可以掌握基本的文件处理功能,并且能 够实现一些系统控制功能。 第 4 章通过 24 个实例介绍了控件和 MFC 类编程技术,主要内容包括用 Animate 控件 播放 AVI 动画、动态创建控件、List Control 和 Tree Control 控件操作列表信息、操作字符 串、链表的遍历和查找、通用对话框等。 第 5 章通过 22 个实例介绍了数据库开发过程中经常用到的一些技巧和编程方法,包括 应用 DAO 获取数据库信息、动态创建数据库、自定义 CRecordset 类、执行 SQL 语句、记 录的筛选和排序等。通过本章的学习读者可以掌握常用的数据库处理功能,从而为实现更 加复杂的数据库操作打下良好基础。 第 6 章通过 23 个实例介绍了 Visual C++ 6.0 中其他技术的应用实例,主要内容包括用 OPENGL 制作简单的动画、如何建立 OLE 容器程序、MMControl 控件播放多媒体、rtf 文 件的显示、在局域网内使用信使服务、递归调用和枚举对话框上的所有控件等。 参加本书编写的主要人员有:尹立民、王兴东、吴静、马骁、王兴艳、樊琳、尹立宏、 王二丽、王容、娄竞秋、李娜、冯欢、谭旭东、汪宝明、刘仙等。由于编写时间紧,作者 水平有限,书中难免存在一些不足之处,恳请读者批评指正。 作者的电子邮箱:yinlimin@sina.com 作者 2004 年 1 月
目 录 第 1 章 界面编程实例....................................................................................1 实例 1 为单文档程序制作真彩色启动封面 ......................................................................2 实例 2 为对话框程序制作真彩色启动封面 ......................................................................2 实例 3 在菜单中显示图标 ..................................................................................................3 实例 4 制作圆角矩形窗口 ..................................................................................................6 实例 5 静态切分窗口 ..........................................................................................................8 实例 6 在切分窗口中使用多个视类 ................................................................................11 实例 7 动态切分窗口 ........................................................................................................13 实例 8 设计字符形状的窗口 ............................................................................................15 实例 9 窗口的动画效果 ....................................................................................................18 实例 10 设置窗口的光标 ..................................................................................................21 实例 11 为对话框添加主菜单 ..........................................................................................24 实例 12 带有工具栏的对话框 ..........................................................................................26 实例 13 为对话框添加状态条 ..........................................................................................28 实例 14 添加对话框条 ......................................................................................................31 实例 15 在窗口中应用“橡皮带” ..................................................................................32 实例 16 为对话框添加右键菜单 ......................................................................................36 实例 17 动态设置窗口的图标 ..........................................................................................40 实例 18 为应用程序添加多语言菜单 ..............................................................................41 实例 19 在窗口的状态栏中显示时间 ..............................................................................45 实例 20 显示半透明的对话框窗口 ..................................................................................49 第 2 章 图形图像处理实例 ..........................................................................51 实例 21 在绘图过程中捕获鼠标 ......................................................................................52 实例 22 橡皮筋功能的实现 ..............................................................................................56 实例 23 显示透明图像 ......................................................................................................59 实例 24 捕捉屏幕图像 ......................................................................................................63 实例 25 创建逻辑字体 ......................................................................................................68 实例 26 显示资源中的位图 ..............................................................................................72 实例 27 显示磁盘上的外部 BMP 文件............................................................................72 ·5·
实例 28 以透明图像构造窗口形状 ..................................................................................74 实例 29 空心字体效果演示 ..............................................................................................79 实例 30 显示动画光标 ......................................................................................................82 实例 31 在剪辑路径内绘图 ..............................................................................................85 实例 32 绘制颜色渐变的图形 ..........................................................................................88 实例 33 旋转文本 ..............................................................................................................92 实例 34 绘制旋转效果的图形 ..........................................................................................96 实例 35 枚举字体 ..............................................................................................................99 实例 36 用图像平铺形状 ................................................................................................102 实例 37 图案填充的文字 ................................................................................................107 实例 38 在一个区域中剪辑 ............................................................................................110 实例 39 创建线性梯度 ....................................................................................................114 实例 40 多种风格的端点 ................................................................................................117 实例 41 使用颜色矩阵设置图像中的 Alpha .................................................................120 实例 42 绘制半透明线条 ................................................................................................124 实例 43 创建轨迹梯度 ....................................................................................................128 实例 44 使用颜色再变换表 ............................................................................................131 实例 45 绘制自定义虚线 ................................................................................................135 实例 46 旋转和扭曲图像 ................................................................................................138 实例 47 字符路径 ............................................................................................................141 实例 48 绘制用纹理填充的图形 ....................................................................................144 实例 49 绘制基数样条 ....................................................................................................147 实例 50 显示 JPG 和 GIF 图像.......................................................................................150 第 3 章 文件与系统控制编程实例.............................................................. 153 实例 51 系统右键菜单的修改 ........................................................................................154 实例 52 程序的互斥运行 ................................................................................................156 实例 53 禁止用户关闭 Windows....................................................................................159 实例 54 读写 ini 文件......................................................................................................162 实例 55 设置程序热键 ....................................................................................................164 实例 56 获取系统的实时时间 ........................................................................................167 实例 57 列举系统中有效的驱动器 ................................................................................169 实例 58 关闭操作系统 ....................................................................................................172 实例 59 用 CFile 类进行文件读写 .................................................................................176 实例 60 用 CStdioFile 类进行文件读写.........................................................................178 实例 61 序列化数据 ........................................................................................................180 实例 62 获取环境变量 ....................................................................................................183 实例 63 获取文件属性 ....................................................................................................187 ·6·
实例 64 获取系统文件夹的路径 ....................................................................................190 实例 65 查找文件 ............................................................................................................193 实例 66 向 IE 工具栏上添加按钮(1)..............................................................................196 实例 67 向 IE 工具栏上添加按钮(2)..............................................................................200 实例 68 获取扩展名对应的图标 ....................................................................................201 实例 69 将文件删除到回收站 ........................................................................................204 实例 70 获得 Windows 2000 中用户名称列表..............................................................207 实例 71 获取所有进程的路径信息 ................................................................................215 实例 72 调用指定的 Windows 程序...............................................................................220 实例 73 建立运行后会自动删除自己的程序 ................................................................225 实例 74 文件关联 ............................................................................................................227 实例 75 建立快捷方式 ....................................................................................................230 实例 76 创建线程 ............................................................................................................236 实例 77 用全局变量在线程间通信 ................................................................................239 实例 78 用自定义消息在线程间通信 ............................................................................242 实例 79 用 Event 对象在线程间通信.............................................................................245 实例 80 模拟键盘操作 ....................................................................................................248 实例 81 模拟鼠标操作 ....................................................................................................251 第 4 章 控件与 MFC 编程实例 ..................................................................255 实例 82 用 Edit Box 显示当前时间................................................................................256 实例 83 用 Animate 控件播放 AVI 动画........................................................................256 实例 84 应用 Tab Control 制作复杂界面.......................................................................259 实例 85 动态创建按钮 ....................................................................................................263 实例 86 在 List Box 中显示列表信息 ............................................................................263 实例 87 用 Combo Box 控件显示列表信息...................................................................267 实例 88 用 Tree Control 中显示分级信息......................................................................271 实例 89 用 List Control 中显示信息...............................................................................276 实例 90 用 IP Address 控件编辑 IP 地址 .......................................................................281 实例 91 用 Rich Edit 控件编辑文档...............................................................................284 实例 92 用 Date Time Picker 选择时间 ..........................................................................289 实例 93 Slider 控件的应用 .............................................................................................292 实例 94 应用 Hot Key 控件设置热键 ............................................................................297 实例 95 字符串的格式化 ................................................................................................301 实例 96 字符串的查找和提取 ........................................................................................303 实例 97 CArray 类的应用 ...............................................................................................305 实例 98 读写 CTypedPtrArray 类 ...................................................................................307 实例 99 应用 CPtrArray 类进行数据存储 .....................................................................310 ·7·
分享到:
收藏