具体描述
内 容 简 介
本书介绍如何利用VisualC十十设计Windows应用程序。书中首先介
绍C十十和Windows的基础知识,然后介绍键盘和鼠标输入、菜单、各种对
话框、图形和鼠标驱动的绘画程序、文件、多文档和多视图、异常处理和调
试,以及对象链接与嵌入等内容。本书适合使用C十十编程的人员使用。
作者简介
作 者 简 介
StevenHalzner早在MIT人工智能实验室时就开始从事计算机工作。他曾是PC杂志
的编辑,编写了20多本编程方面的畅销书;他的书还被译成多国文字。与此同时,他还获得
了Cornell学院的粒子物理学博士,现在他是该学院400名学生的教员和指导教师。他还从
事佛教课程的教学,出版过历史题材的小说。Steve喜欢旅游,经常去欧州、加利福尼亚和纽
约。他访问过30多个国家和地区――从阿富汗到婆罗洲,并在包括洛杉矶、香港、圣克鲁斯、
德国、檀香山和纽约等在内的许多地方居住过。Steve的业余爱好是考古。他唯一的遗憾的
是,他现在还没有学会正确扎领带,但他正在学。
目录信息
引论
0.1为什么要使用VisualC十十
0.2了解本书所使用的方法
0.3本书内容简介
0.4VisualC十十1.5版本中的新内容
0.5读者需要具备什么条件
第一章 C++入门
1.1关于Windows的基本知识
1.1.1Windows的历史
1.1.2剖析一个窗口
1.1.3用户应具有Windows编程思想和意识
1.2创建第一个程序
1.3步入C十十世界
1.3.1C十十预定义I/O流
1.4掌握对象的概念
1.4.1带有类的C语言
1.5分析堆栈对象实例
1.6初始化对象
1.7类继承性
1.8定制类:函数覆盖(overriding)
1.9函数重载
1.10不同参数个数的重载函数
1.11围绕C十十基础进一步学习
第二章 C十十Windows应用程序分析
2.1关于Windows编程
2.1.1匈牙利表示法
2.2创建第一个真正的Windows程序
2.3分析C+十Windows程序
2.3.1VisualC十十视图和文档
2.4CFirstApp对象
2.5CMainFrame对象
2.6FirstDoc的对象
2.7FirstView对象
第三章 键盘和鼠标输入
3.1在Windows中使用键盘
3.1.1关于Windows键盘输入的约定
3.2设计第一个文档
3.3设计第一个视图
3.3.1保存新字符
3.3.2this关键字
3.4在窗口中加进插入记号
3.5鼠标和鼠标事件
3.5.1在程序代码中使用鼠标
第四章 菜单
4.1菜单中的约定
4.2向程序添加菜单
4.2.1建立菜单
4.2.2将菜单项与程序代码连接起来
4.3在Windows中增加快捷键
4.4在Windows中增加加速键
4.5复选菜单项
4.6使用用户界面消息把菜单项变成灰暗
4.7在程序代码中增加菜单项
第五章 对话框:按钮和文本框
5.1消息框
5.2对话框设计
5.2.1使用CDialog成员函数更新数据
5.2.2使用VisualC十十成员变量更新数据
5.3计算器实例
5.4记事簿(Notepad)实例
第六章 对话框:列表框、网格;电子表格
6.1数据库例子
6.2列表框
6.3组合框
6.4电子表格例程
6.5在代码中使用VBX控件
6.6用一个对话框作为主窗口
第七章 图形学与鼠标驱动绘图程序
7.1建立绘图程序菜单
7.2编写绘图程序
7.3在Windows中设置单独的像素
7.4在绘图程序中自由绘图
7.5画线
7.5.1选择颜色和画笔
7.6绘制矩形
7.7绘制椭圆
7.8用彩色填充图形
7.9“拉伸”图形
第八章 文件
8.1MFC文件处理
8.2CFile类的实例
8.2.1写一个文件
8.2.2读一个文件
8.3顺序和随机访问文件
8.4通过更新记事薄来处理文件
8.5文档的修改标志
8.6更新数据库来处理文件
8.7定制顺序化的方式
第九章 多文档和多视图
9.1多文档界面(MDI)程序
9.2加滚动条
9.3多视图
9.4分解窗口(SplitterWindows)
第十章 异常处理和调试
10.1异常处理
10.1.1调试窗口
10.1.2处理多个异常
10.2调试
10.2.1测试程序
10.2.2在工作中调试
10.2.3断点
10.2.4单步执行
10.3小结
第十一章 对象链接与嵌入(OLE)
11.1VisualC十十中OLE程序设计
11.2OLE程序分析
11.3OLE项尺寸的定制
11.4双击打开OLE项
11.5小结
附录A Windows程序设计
A.1Windows编程原理
A.2鼠标行为
A.3键盘行为
A.4Edit菜单
A.5File菜单
A.6Help菜单
附录B 本书的配套软盘
· · · · · · (收起)
读后感
用户评价
我对技术书籍的苛刻程度是出了名的,很多号称“实务”的书,到头来还是停留在教科书的框架里打转,读起来让人昏昏欲睡。然而,这本《Visual C++程序设计实务》给我的感觉是,它仿佛是一位经验老到的工程师在跟你面对面交流项目经验。它的叙述风格非常老道且务实,不拖泥带水,直击要害。书中对性能优化的讨论,尤其是在处理大量数据和复杂界面渲染时的心得分享,简直是教科书级别之外的宝贵财富。例如,它关于内存管理和对象生命周期控制的章节,不是简单地告诉你 `new` 和 `delete` 的区别,而是深入到运行时环境的考量,提供了在多线程环境下如何安全使用智能指针的独到见解。这种深入骨髓的实践经验的体现,让这本书的价值远超其定价。我尤其欣赏作者在代码规范和工程化管理方面的强调,这让初学者从一开始就能建立起良好的编程习惯,而不是等到犯了错才去补救。这种前瞻性的指导,对于长期职业发展至关重要。
从内容的新旧迭代角度来看,这本书展现出一种难得的中立和恒久价值。市面上很多关于特定技术栈的书籍,往往很快就会因为框架的更新而变得过时,但这本书的重点明显放在了跨越版本的核心设计思想上。它没有一味追逐最新的 C++ 标准特性,而是聚焦于如何利用 C++ 强大的能力去构建稳定、健壮的 Windows 桌面应用。对于那些需要维护老旧项目或者希望理解底层机制的资深开发者来说,这种对基础原理的深刻挖掘比追逐最新的花哨语法更有意义。书中对 COM 接口和 OLE 机制的阐述,即使在今天来看,依然是理解 Windows 编程生态的关键钥匙。作者的笔触透露出一种对技术本质的深刻理解,他教你的不是如何调用某个特定版本的函数,而是理解这个函数背后的设计哲学。这种沉淀下来的知识,才是真正能支撑起程序员职业生涯的基石,非常值得细细品味。
我是一个视觉型学习者,对纯文本描述的代码逻辑很容易产生认知疲劳,因此,一本好的技术书必须要有丰富的图形化辅助材料。这本《Visual C++程序设计实务》在这方面做得相当出色。书中对于复杂数据结构和设计模式的解释,往往配合了清晰的 UML 图或者流程图,使得抽象的概念瞬间变得可视化。例如,当它解释如何实现观察者模式来解耦界面和数据逻辑时,配上的组件交互图,比我阅读过的任何一篇博客都要直观易懂。此外,书中的代码示例排版非常考究,注释清晰且富有针对性,几乎可以作为即插即用的参考模板。它让我感觉到,这不是一本用来“读”的书,而是一本用来“做”的工具箱。很多时候,我只是翻阅某一章节的代码示例,就能快速获得解决当前编程难题的灵感。这种实践导向和视觉支持的完美结合,使得学习过程不再是单向的知识灌输,而是一种互动的、高效的问题解决之旅。
这本书的结构设计简直是为自学爱好者量身定做的。我尝试过好几套 C++ 相关的书籍,很多都要求读者必须有扎实的指针和面向对象理论基础,否则根本无法跟上进度。但这本书的起点非常友好,它很巧妙地将 C++ 的核心概念嵌入到对 Visual Studio 环境的探索之中。学习过程不是线性的,而是螺旋上升的。它首先带你跑通一个基础的“Hello World”级别的项目,让你对整个开发流程产生直观认识,然后才开始逐步深入到更复杂的组件交互。让我印象深刻的是它对调试工具的详尽介绍,不仅仅是断点设置,还包括内存快照分析和调用栈的深度解读。对于很多初学者来说,调试是最大的瓶颈,而这本书把它变成了一个强大的学习工具,教会你如何“阅读”程序出错时的状态,而不是简单地去猜测。这种以用户体验为导向的编排方式,极大地降低了学习的挫败感,让学习过程充满了探索的乐趣和持续的动力。
这本书简直是编程学习者的福音,我个人在接触 C++ 的过程中,总是感觉理论知识太多,实操起来却无从下手,但这本书完美地弥补了这一块的不足。它不仅仅是停留在枯燥的语法讲解上,而是真正地将那些复杂的概念融入到实际的项目案例中去。比如,它对 MFC 框架的讲解,那种庖丁解牛式的剖析,让我这个初学者都能清晰地理解窗口消息循环和控件的绑定过程,而不是简单地罗列 API 函数。作者在每一个关键技术的讲解后,都会紧跟着一个“实战演练”模块,这对于巩固学习效果太重要了。我记得当初学习 GDI 绘图时,光看参考手册就头大,但通过书中的例子,一步步实现一个简单的图形编辑器,那种成就感是看再多视频教程也比不上的。它让你感觉到,你不是在背诵代码,而是在构建一个真正的应用程序。对于那些希望从“会写 C++ 代码”进阶到“能设计和实现一个完整桌面应用”的读者来说,这本书无疑是打开了一扇重要的门。它的内容组织非常注重实际应用场景,避免了太多晦涩的底层细节,让学习曲线变得平滑且高效。