《Visual C++ 高级编程技术——开发实例剖析》求取 ⇩

第1章 Visual C++编程时必须或辅助使用的几个开发工具1

1.1 使用MFC AppWizard2

1.1.1 MFC AppWizard的启动2

1.1.2 利用AppWizard生成一个基于MFC的应用程序2

1.2 使用Class View7

1.2.1 启动Class View7

1.2.2 编辑定位8

1.2.3 增加类8

1.2.4 增加类的成员10

1.3.1 Resource View的调用12

1.3.2 Resource View工作分析12

1.3 使用Resource View12

1.4 使用File View16

1.4.1 打开一个工作项目16

1.4.2 File View相关的操作功能17

1.5 使用Class Wizard18

1.5.1 Windows消息18

1.5.2 消息处理函数20

1.5.3 Class Wizard的作用和启动22

1.5.4 Class Wizard管理消息处理函数22

1.5.5 Class Wizard管理可重载的虚函数26

12.5.6 Class Wizard管理映射变量28

1.5.8 重新构造一个开发项目的Class Wizard工作信息32

1.5.7 管理Automation和ActiveX事件32

1.6 使用各设计工具的几点建议33

第2章 基于MFC的一般应用程序序框架分析35

2.1 程序类和文件35

2.2 程序框架中各个类的作用分析37

2.3 程序的工作步骤分析38

2.4 系统产生的标准菜单执行分析41

2.4.1 标准菜单的执行分析41

2.4.2 修改标准菜单完成的功能43

2.5 程序框架中各个类对象的相互调用关系43

2.6 包含详尽注释的主要源程序清单45

3.1.1 绘图类简介71

第3章 与图形操作有关的类及主要操作71

3.1 绘图类71

3.1.2 几个绘图类的主要差别72

3.1.3 绘图类的引用方法73

3.2 绘图对象类74

3.2.1 CGdiObject类74

3.2.2 CPen类74

3.2.3 CBrush类76

3.2.4 CFont类79

3.2.5 CRgn类82

3.2.6 CPalette类87

3.2.7 CBitmap类89

3.3 绘图类的主要操作功能90

3.3.1 坐标映像方式90

3.3.2 选用绘图类对象96

3.3.3 主要绘图属性设置函数97

第4章 面向对象的程序设计和C++类组织99

4.1 面向对象程序设计和C++类的基础知识99

4.1.1 面向对象程序设计的初步知识99

4.1.2 类和对象101

4.1.3 函数重载105

4.1.4 类的构造函数和析构函数105

4.1.5 类的继承106

4.1.6 虚函数和多态性110

4.2 分析建立一个基本矢量图形系统Draw的基本类114

4.2.1 建立一个图形基本类114

4.2.2 通过继承建立直线类115

4.2.3 通过继承建立连续直线或封闭多边形类116

4.2.4 通过继承建立圆类117

4.2.5 通过多级继承建立圆弧类118

4.2.6 通过继承建立标注文本类118

4.2.7 建立图形参数类119

4.3 基本矢量图形系统类的组织和实现列表121

5.1.2 利用MFC模板定义管理图形元素对象指针的对象127

5.1.1 组织面向对象的文档存储管理机制127

第5章 实现文档和视图127

5.1 组织矢量图形系统Draw的文档127

5.1.3 实现Draw系统的文档128

5.1.4 实现Draw系统文档的管理功能129

5.2 实现矢量图形系统Draw的视图133

5.2.1 为Draw系统建立一个适合各种映像方式的坐标系133

5.2.2 实现各图形元素类的绘制函数138

5.2.3 视图类的OnDraw函数147

5.2.4 实现视图148

6.1 用鼠标器作图要解决的主要问题150

6.1.1 建立鼠标消息处理函数捕捉鼠标器消息150

第6章 使用鼠标器交互作图150

6.1.2 捕捉所有的鼠标输入151

6.1.3 实现在屏幕上拖动图形152

6.1.4 保存图形数据到文档152

6.1.5 将图形以实际的形态重画152

6.2 加入一个绘图菜单153

6.2.1 增加绘图菜单资源153

6.2.2 增加菜单的消息处理函数154

6.3 实现各图形元素的交互绘制功能156

6.3.1 绘制直线156

6.3.2 绘制连续直线和多边形区域159

6.3.3 绘制圆和圆形区域163

6.3.4 绘制圆弧166

第7章 使用对话框174

7.1 对话框程序设计概况174

7.1.1 对话框程序的组成174

7.1.2 对话框的类型174

7.2 对话框编程的主要技术175

7.2.1 创建对话框资源175

7.2.2 创建对话框类176

7.2.3 对话框类中的常用函数178

7.2.4 对话框类对象的定义和使用180

7.2.5 控制无模式对话框182

7.2.6 对话框中使用各种控制183

7.2.7 对话框中的消息操作184

7.3 用无模式对话框完成Draw系统的交互文本标注186

7.3.1 交互标注文本的操作过程186

7.3.2 定义对话框资源186

7.3.3 实现对话框类187

7.3.4 修改视图类实现文本交互标注195

7.4 用模式对话框实现Draw系统中字体参数的设置199

7.4.1 建立对话框资源199

7.4.2 实现对话框类200

8.1.1 增加菜单资源203

8.1 增加一个图形操作菜单203

第8章 增强视图的操作功能203

8.1.2 增加消息处理函数204

8.2 图形重画205

8.2.1 全屏重画205

8.2.2 局部重画206

8.3 图形放大和移动207

8.3.1 图形放大或移动后图形参数的计算方法207

8.3.2 图形放大和移动的实现方法208

8.4 重画上屏和重画首屏211

8.5.1 操作目的和实现思路215

8.5.2 各种图形元素的矩形边界215

8.5 显示全图215

8.5.3 实现重画全图功能220

8.6 提高图形重画速度的基本方法223

8.6.1 基本原理及方法223

8.6.2 提高图形重画速度的实现方法224

8.6.3 修改图形元素的绘制函数225

8.7 实现滚动视图226

8.7.1 实现滚动视图的方法226

8.7.2 必要的参数设置227

8.8 为Draw系统定制自身的图形滚动功能228

8.8.1 确定滚动步长228

8.8.3 实现滚动功能229

8.8.2 产生一个滚动条229

8.8.4 加快图形滚动的速度234

8.8.5 用键盘滚动图形236

第9章 文档的删除和恢复238

9.1 用鼠标在屏幕上选中图形元素238

9.1.1 各种图形元素的选中区域238

9.1.2 各种图形元素的选中判断243

9.1.3 选中图形的特殊显示247

9.1.4 实现图形选中功能247

9.1.5 放弃选中的图形元素253

9.2.1 实现可恢复的图形元素删除方法254

9.2 图形元素的删除254

9.1.6 图形元素显示和选中的顺序254

9.2.2 即时从屏幕上删除图形255

9.2.3 各种图形元素的删除实现256

9.2.4 实现图形元素删除功能259

9.3 实现Draw系统文档操作逆向化260

9.3.1 逆向操作的含义260

9.3.2 记录文档操作过程261

9.3.3 实现文档逆向操作268

9.3.4 实现操作过程的完全逆向化270

10.1 利用CFile对象存储和读取文件271

10.1.1 构造和删除一个CFile对象271

第10章 文档的存储和读取271

10.1.2 CFile类的主要操作273

10.1.3 CFile的派生类274

10.2 利用串行化存取文档274

10.2.1 CArchive类及CArchive对象的构造274

10.2.2 Serialize函数276

10.2.3 CObArray类的 serialize函数278

10.3 用串行化实现Draw系统的文档存储和读取功能279

10.3.1 实现各个图形元素类的串行化279

10.3.2 MFC框架程序的文档串行化机制284

10.3.3 实现文档的存储和读取284

10.3.4 SetModifiedFlag函数287

10.4 用CFile对象实现Draw系统文档的存储和读取289

10.4.1 在各个图形类中增加一个存取数据成员的函数289

10.4.2 实现文档的存储和读取293

第11章 使用剪裁板299

11.1剪裁板使用方法299

11.1.1 打开、关闭、清空剪裁板299

11.1.2 存取剪裁板300

11.1.3 注册和检杳剪裁板格式302

11.2 用剪裁板实现Draw系统剪裁和粘贴图像的功能304

11.2.1 增加操作菜单305

11.2.2 剪裁视图到剪裁板305

11.2.3 插入剪裁板的位图到当前视图306

11.3.1 实现各图形元素数据的字符串表示308

11.3 用剪裁板实现Draw系统中矢量图形元素的剪裁、移动和复制308

11.3.2 将要剪裁的图形元素数据写入剪裁板313

11.3.3 从剪裁板中读出数据成员形成图形元素对象317

11.3.4 实现Draw系统的Cut、Copy和Paste操作功能321

第12章 多视图、多文档编程326

12.1单文档和多文档应用程序比较326

12.1.1 用MFC AppWizard产生程序框架比较326

12.1.2 程序框架类比较326

12.1.3 标准菜单比较327

12.2.1 建立文档模板对象328

12.2 单文档应用程序分析328

12.2.2 打开文档操作329

12.2.3 关闭文档操作332

12.2.4 保存文档操作333

12.3 多文档应用程序分析335

12.3.1 建立文档模板对象335

12.3.2 打开文档336

12.3.3 关闭和保存文档338

12.3.4 创建视图338

12.4 多文档、多视图编程注意事项340

12.4.1 全局变量的使用340

12.4.2 共享资源的使用341

12.4.3 多文档、多视图应用程序文档和视图类数据成员的组织342

第13章 多线程编程344

13.1 管理线程的技术344

13.1.1 设置开发环境参数344

13.1.2 启动及终止线程344

13.1.3 管理线程347

13.2 线程中使用MFC类对象348

13.2.1 线程中共享数据及对象348

13.2.2 线程中使用主线程的视图类和文档类对象348

13.2.3 使用CDC类对象350

13.3.1 线程同步化概念351

13.2.4 使用CGdiObject类对象351

13.3 线程的同步化方法351

13.3.2 使用互斥信号灯同步化线程352

13.3.3 其他同步化方法353

13.3.4 其他同步化类型354

13.4 实现Draw系统的图形后台绘制355

13.4.1 实现一个图形绘制线程355

13.4.2 实现同步化357

第14章 图形打印和打印预显360

14.1 视图打印实现过程分析360

14.1.1 视图打印的机理360

14.1.2 视图打印过程分析361

14.2.1 进行分页369

14.2 实现Draw系统的多坐标系无级打印和打印预显功能369

14.2.2 打印标题、注脚等其他信息372

14.2.3 任意比例分页打印的具体实现372

14.2.4 打印预显377

第15章 显示位图378

15.1 位图文件的格式378

15.2 CBitmap类及CBitmap类对象的初始化方法381

15.2.1 CBitmap类简介381

15.2.2 初始化CBitmap类对象的方法382

15.3.1 显示位图的步骤384

15.3 显示位图的步骤和主要的位操作函数384

15.3.2 位操作函数385

15.4 显示位图的函数实现387

15.4.1 显示装载在资源文件中的位图387

15.4.2 通过HBITMAP句柄装载显示位图文件389

15.4.3 用画点法选择装入位图数据显示位图394

第16章 使用工具条、状态条、对话条及加速键403

16.1 使用工具条403

16.1.1 工具条的实现过程403

16.1.2 为Draw系统创建一个绘图工具条407

16.2.1 状态条的实现过程410

16.2 使用状态条410

16.2.2 为Draw系统在状态条中增加坐标跟踪提示413

16.3 使用对话条414

16.3.1 对话条的实现过程415

16.3.2 在Draw系统中实现设置绘图参数的对话条418

16.4 加速键等的实现方法421

16.4.1 使用CCmdUI消息处理函数422

16.4.2 修改命令交互对象的命令描述425

16.4.3 设置加速键427

17.1.2 Windows中的DLL430

17.1.1 DLL的特点430

17.1 DLL的使用430

第17章 使用和开发DLL430

17.1.3 MFC库中的DLL431

17.1.4 DLL的文件组成431

17.1.5 使用DLL的方法432

17.2 VC++5.0能够开发的基于MFC的DLL种类434

17.2.1 通常形式的静态使用MFC的DLL435

17.2.2 通常形式的动态使用MFC的DLL436

17.2.3 扩展DLL437

17.3 调整开发平台设置来开发和调试DLL441

17.3.1 管理多个程序项目441

17.3.2 调整DLL开发项目和使用DLL项目的路径设置443

17.4 在Draw系统中开发和使用DLL445

17.4.1 利用通常形式的静态DLL实现标注字体设置对话框446

17.4.2 利用通常形式的动态DLL实现标注字体设置对话框450

17.4.3 利用扩展DLL实现标注字体设置对话框451

第18章 OLE编程455

18.1 OLE使用技术455

18.1.1 OLE主要术语455

18.1.2 OLE服务器应用程序调用的方式和实现458

18.1.3 MFC中的主要OLE类459

18.1.4 MFC AppWizard创建的OLE程序框架462

18.2 OLE包容器应用程序设计463

18.2.1 程序框架组成463

18.2.2 OLE条目的文档组织465

18.2.3 增加和删除OLE条目469

18.2.4 OLE条目绘制过程471

18.2.5 OLE条目的选中和拖动473

18.2.6 OLE条目的可视原位编辑475

18.2.7 OLE条目的存取476

18.3 在 Draw系统中实现OLE包容器功能479

18.3.1 给OLE条目类增加数据成员479

18.3.2 绘制OLE条目480

18.3.3 增加OLE条目482

18.3.4 OLE条目的选中和拖动486

18.3.5 对OLE条目进行清除选中和删除操作488

18.3.6 编辑OLE条目490

18.3.7 保存OLE条目491

18.4 OLE服务器程序开发技术分析491

18.4.1 程序类分析492

18.4.2 交互操作界面分析492

18.4.3 视图分析496

18.4.4 文档分析497

18.5 开发OLE混合应用程序500

18.5.1 程序类分析500

18.5.2 交互操作界面分析501

18.6.1 术语503

18.6 Automation支持503

18.5.3 文档组织分析503

18.6.2 Automation方法的定义和使用504

18.6.3 Automation属性的定义和使用509

18.6.4 OLE自动化包容器获得OLE自动化服务器接口的方法515

第19章 ActiveX控件的开发及使用516

19.1 ActiveX控件特点、构成及开发技术分析516

19.1.1 ActiveX控件的特点516

19.1.2 用MFC AppWizard产生ActiveX控件开发程序框架518

19.1.3 ActiveX控件的主要开发工作520

19.2 开发ActiveX控件的Automation属性和方法521

19.2.1 开发Automation属性和方法的程序框架521

19.2.2 增加一个库存属性522

19.2.3 增加其他Automation属性和方法524

19.3 开发ActiveX控件的事件525

19.3.1 开发事件的程序框架525

19.3.2 增加库存事件526

19.3.3 增加和激发定制事件528

19.4 开发ActiveX控件的属性页530

19.4.1 属性页开发的程序框架531

19.4.2属性页的开发532

19.5 开发一个直线ActiveX控件实例534

19.5.1 给控件增加Automation属性535

19.5.2 给控件增加Automation方法537

19.5.3 给控件增加事件538

19.5.4 完成控件的绘制539

19.5.5 激发事件540

19.5.6 完成控件的属性页开发542

19.5.7 ActiveX控件的编译及注册546

19.6 ActiveX控件的测试和使用546

19.6.1 使用VC++提供的测试容器程序546

19.6.2 在对话框中使用ActiveX控件549

第20章 实现系统的帮助功能553

20.1 开发帮助功能的程序框架553

20.1.1 MFC应用程序中帮助功能的程序代码组成553

20.1.2 MFC应用程序的标准帮助功能及其实现557

20.2 求助主题组织561

20.2.1 组织求助主题的普通显示内容562

20.2.2 组织求助主题的标识563

20.2.3 组织求助主题中的跳转566

20.2.4 使用Word编辑RTF文件可能出现的问题568

20.3 组织帮助项目文件prj568

20.3.1 求助项目文件中常用的节569

20.3.2 其他一些在HPJ文件中使用的节572

20.4 实现Draw系统的帮助功能573

20.4.1 创建每个菜单项的求助主题页573

20.4.2 创建菜单的求助目录主题页并与帮助文件的主目录主题连接574

20.4.3 测试新增帮助功能576

第21章 矢量图形系统Draw的源代码列表579

21.1 Draw系统的主要功能579

21.2 Draw系统的源代码文件列表581

21.2.1 Draw系统开发过程中增加或做过修改的文件581

21.2.2 drawdoc.h和drawdoc.cpp文件列表581

21.2.3 视图类的drawview.h和drawview.cpp文件643

21.2.4 主框架类的mainfrm.h和mainfrm.cpp文件697

21.2.5 OLE条目控制类的ctrlitem.h和ctrlitem.cpp文件702

21.2.6 对话框类的textwritedlg.h和textwritedlg.cpp文件708

附录A 本书所附光盘的内容及技术支持715

附录B 参考书目716

1999年09月第1版《Visual C++ 高级编程技术——开发实例剖析》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由陈建春 1999年09月第1版 电子工业出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

Visual C++ Windows实用编程技术(1996 PDF版)
Visual C++ Windows实用编程技术
1996 北京:北京航空航天大学出版社
Visual C++高级编程技巧与实例( PDF版)
Visual C++高级编程技巧与实例
微型计算机软件基础技术 (M6800系,8080系,Z-80系)(1986年03月第1版 PDF版)
微型计算机软件基础技术 (M6800系,8080系,Z-80系)
1986年03月第1版
Visual C++ 6.0高级编程(1999 PDF版)
Visual C++ 6.0高级编程
1999
Visual C++ 高级编程技术——开发实例剖析(1999年09月第1版 PDF版)
Visual C++ 高级编程技术——开发实例剖析
1999年09月第1版 电子工业出版社
Visual C++ 6.0编程与实例(1999 PDF版)
Visual C++ 6.0编程与实例
1999 北京:科学出版社
Visual C++ 5.0多媒体编程技术与实例(1999 PDF版)
Visual C++ 5.0多媒体编程技术与实例
1999 北京:电子工业出版社
Visual C++ 6.0编程实例技巧(1999 PDF版)
Visual C++ 6.0编程实例技巧
1999 武汉:华中理工大学出版社
Visual C++ 6.0开发实用教程(1998 PDF版)
Visual C++ 6.0开发实用教程
1998 北京:人民邮电出版社
Visual C++ 6.0高级开发教程(1999 PDF版)
Visual C++ 6.0高级开发教程
1999 北京:人民邮电出版社
Visual C++ 5.0编程技术(1998 PDF版)
Visual C++ 5.0编程技术
1998 北京:北京航空航天大学出版社
Visual C++6.0开发与实例(1999 PDF版)
Visual C++6.0开发与实例
1999 北京:电子工业出版社
Visual C++ 6.0实用编程技术(1999 PDF版)
Visual C++ 6.0实用编程技术
1999 北京:中国水利水电出版社
Visual C++6.0编程实例(1999 PDF版)
Visual C++6.0编程实例
1999 北京:人民邮电出版社
Java核心 第2版(1997 PDF版)
Java核心 第2版
1997 北京:科学出版社;西蒙与舒斯特国际出版公司