
本书以应用实例的方式,由浅入深地对Visual C++.NET做了全面的介绍。全书共分10章,从基础知识和简单的界面编程到Visual C++和MFC和托管扩展编程都进行了介绍,内容包括对话框和控件的使用、图形图像处理、文件与系统的操作、数据库编程、多媒体编程、网络编程、分布式应用程序的开发、多线程编程以及异常处理等,以及几个软件封面制作与打包发布的实例。通过学习这些实例,读者能够在较短的时间内掌握开发软件产品的技术。
书中精选的实例大都来自实际的工程项目或一些趣味小游戏,具有一定的实用性和参考性,相信广大读者能够从中受益。
本书内容丰富、结构清晰、语言简练、适合于。NET的初学者阅读,也可作为有MFC开发经验或正在转向Visual C++。NET开发的各类程序员的参考书。
前 言
Visual Studio .NET是一套完整的开发平台,是微软公司主要针对基于Internet开发标准的分布式计算模式而设计的。
Visual C++ .NET是Visual Studio .NET中一种功能强大的程序设计语言,与Visual C++ 6.0相比,Visual C++ .NET包含了许多新的编程思想,使得程序员能够快速创建面向设备并能够与任何平台集成的Internet应用程序,同时,还与C#、Visual Basic .NET和J#等语言共用类库,开发能力更强,效率更高。
在编写本书时,考虑到初学者学习的需要,对每个实例编程思想的讲解力求做到深入细致、清晰透彻。结合本人实际的开发经验,在实例讲解中穿插了编程过程中的注意事项和常用的编程技巧,帮助读者养成良好的编程习惯,逐步从初学者成长为高级开发人员。
本书共由100个实例组成,实例间衔接流畅,由浅入深,由易到难,对Visual C++ .NET各个领域的应用都做了介绍。全书共分10章,第1章介绍了几个简单的程序,向读者介绍Visual Studio .NET 2003开发环境,使读者能够快速入门;第2章介绍了Visual C++ .NET的对话框与基本控件的使用方法;第3章对Visual C++ .NET的图形、图像处理技术做了详细的讲解;第4章是对文件与系统的操作实例;第5章介绍了Visual C++ .NET的数据库编程;第6章是ActiveX控件和多媒体编程的实例;第7章介绍Visual C++ .NET在网络编程方面的应用;第8章介绍了动态链接库和OLE技术;第9章介绍了ATL Server和Web服务编程,并介绍了VC++ .NET开发分布式应用程序的实例;第10章介绍了Visual C++ .NET在其他领域内的应用以及软件的安装与部署等。
本书结构清晰、语言简练、内容全面、知识系统,读者不需要有其他计算机高级语言的编程经验,它是初学者入门与提高的首选教材;同时,本书的实例大都精选自实际的工程项目或者趣味小游戏,具有一定的实用性和参考价值,有开发经验的中高级程序员通过阅读本书,也能有所启发,从中受益。
本书是多人智慧的集成,除封面署名的作者外,参与整理资料和制作的人员还有张敏、吕洪、陈勇、陆宏远、朱明峰、于欣、张健、甘殿忠、赖梅艳、章炜巍、杨晓美、王宇翔、王辉、刘云、闻之琦 、张志超、陈云海、宋丽英、徐健、吴冰、曹亮、甘柳忠、李莉明、王爱荣、李国亮、周桂芳、张文革、李红敏、金媛媛等。
由于作者水平有限,加之时间仓促,书中难免有不足之处,欢迎广大读者批评指正。
作 者
2004年4月
目 录
第1章 快速入门 1
第1例 从Hello程序开始 1
第2例 用消息对话框实现Hello程序 7
第3例 用单文档实现Hello程序 15
第4例 移动的文字 22
第5例 椭圆窗体 28
第2章 对话框和控件编程 33
第6例 对话框编程 33
第7例 按钮类控件 40
第8例 列表框和组合框编程 45
第9例 动画控件和进度控件 51
第10例 树形控件 55
第11例 日期时间控件和IP地址控件 60
第12例 滑块控件 65
第13例 选项卡控件和属性对话框 71
第14例 登录对话框 77
第15例 组框、单选按钮和复选框 82
第16例 TabControl控件 86
第17例 LinkLabel控件 93
实18例 创建菜单 96
第19例 标准计算器 100
第20例 TreeView控件 104
第21例 使用工具栏 109
第22例 ListView控件 113
第23例 为对话框添加菜单和工具栏 117
第24例 扩展对话框 121
第3章 图形图像处理 126
第25例 绘制简单的图形 126
第26例 使用画笔 132
第27例 使用画刷 136
第28例 颜色渐变的四边形 140
第29例 位图浏览器 143
第30例 图像镜像 148
第31例 百叶窗效果 157
第32例 简易画笔 162
第33例 填充纹理效果 170
第34例 路径渐变填充 173
第35例 半透明效果 176
第36例 绘制文本 179
第37例 图像处理 182
第4章 文件与系统 189
第38例 获取文本属性 189
第39例 读写ini文件 192
第40例 读写注册表 195
第41例 关闭计算机 200
第42例 显示系统进程 204
第43例 快速开发文本编辑器 208
第44例 用CStdioFile类读写文件 213
第45例 文件的打印 216
第46例 获取系统环境变量 220
第5章 数据库编程 224
第47例 访问Access数据库 224
第48例 编辑数据记录 231
第49例 查找与排序 236
第50例 ODBC报表 240
第51例 OLE DB使用者 247
第52例 OLE DB提供者 252
第53例 使用ADO访问数据库 256
第54例 使用ADO.NET初步 267
第55例 利用数据视图排序 274
第56例 将数据写入XML文件 277
第57例 创建XML架构 280
第58例 访问XML架构 285
第6章 ActiveX控件与多媒体编程 288
第59例 创建ActiveX控件 288
第60例 在应用程序中调用ActiveX控件 297
第61例 在网页中插入ActiveX控件 299
第62例 简单的媒体播放器 301
第63例 MIDI播放器 310
第64例 完善MIDI播放器 317
第65例 CD播放器 320
第66例 利用OPENGL绘制简单图形 328
第67例 键盘控制的动画 332
第68例 鼠标操作的动画 335
第7章 网络编程 339
第69例 简单的网页浏览器 339
第70例 使用Ping命令 344
第71例 Socket编程(1)--Server 353
第72例 Socket编程(2)-- Client 357
第73例 FTP客户端程序 362
第74例 RAS拨号上网 371
第75例 POP3邮件检查器 379
第76例 映射网络驱动器 385
第8章 动态链接库和OLE技术开发 388
第77例 使用静态链接库 388
第78例 创建动态链接库 391
第79例 使用自己的动态链接库 394
第80例 创建MFC扩展DLL 396
第81例 测试扩展DLL 400
第82例 创建OLE容器 402
第83例 在OLE容器中显示多个OLE项 408
第84例 编辑OLE对象 412
第85例 创建袖珍OLE服务器 416
第86例 创建完全OLE服务器 420
第9章 创建分布式应用程序 426
第87例 创建ATL Server的Hello程序 426
第88例 创建Web服务 435
第89例 调用Web服务 440
第90例 创建ATL Server Web服务 445
第91例 调用ATL Server Web服务 450
第92例 部署Web服务 453
第93例 ISAPI扩展DLL编程 458
第10章 其他应用程序开发 465
第94例 多线程编程 465
第95例 无窗口的内部应用进程 470
第96例 COM+组件的实现 472
第97例 异常处理 479
第98例 创建Windows服务 484
第99例 为软件添加启动界面 488
第100例 为程序制作安装文件 490