图书介绍

深入浅出MFC 第2版PDF|Epub|txt|kindle电子书版本网盘下载

深入浅出MFC 第2版
  • 侯俊杰著 著
  • 出版社: 武汉:华中科技大学出版社
  • ISBN:7900614931
  • 出版时间:2001
  • 标注页数:701页
  • 文件大小:199MB
  • 文件页数:735页
  • 主题词:

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

深入浅出MFC 第2版PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第0章 你一定要知道(导读) 1

这本书适合谁 1

你需要什么技术基础 2

你需要什么软硬件环境 3

让我们使用同一种语言 3

本书符号习惯 5

本书例程的取得 6

范例程序说明 6

与前版本之差异 9

如何联络作者 10

第一篇 勿在浮砂筑高台 11

第1章 Win32程序基本概念 13

Win32程序开发流程 14

需要什么函数库(.LIB) 14

需要什么头文件(.H) 15

以消息为基础,以事件驱动之(message based,event driven) 15

一个具体而微的Win32程序 16

程序进入点WinMain 22

窗口类之注册与窗口之诞生 23

消息循环 24

窗口的生命中枢:窗口函数 24

消息映射(Message Map)的雏形 25

对话框的运行 27

模块定义文件(.DEF) 28

资源描述档(.RC) 29

Windows程序的生与死 29

空闲时间的处理:OnIdle 30

Console程序 30

Console程序与DOS程序的差别 31

Console程序的编译链接 32

JBACKUP:Win32 Console程序设计 33

MFCCON:MFC Console程序设计 35

行程与线程(Process and Thread) 38

核心对象 38

一个行程的诞生与死亡 39

产生子行程 39

一个线程的诞生与死亡 41

以_beginthreadex取代CreateThread 42

线程优先级(Priority) 44

多线程程序设计实例 45

第2章 C++的重要性质 49

类及其成员——谈封装(encapsulation) 49

基类与派生类:谈继承(Inheritance) 50

this指针 53

虚拟函数与多态(Polymorphism) 53

类与对象大解剖 64

Object slicing与虚拟函数 68

静态成员(变量与函数) 70

C++程序的生与死:兼谈构造函数与解构函数 72

四种不同的对象生存方式(in stack、in heap、global、local static) 74

执行期类型信息(RTTI) 75

动态生成(Dynamic Creation) 77

异常处理(Exception Handling) 78

Template 81

Template Functions 82

Template Classes 83

Templates的编译与链接 85

第3章 MFC六大关键技术之仿真 87

MFC类层次结构 88

Framel范例程序 89

MFC程序的初始化过程 91

Frame2范例程序 93

RTTI(执行期类型识别) 96

类别型录网与CRuntimeClass 97

DECLARE_DYNAMIC/IMPLEMENT_DYNAMIC宏 98

Frame3范例程序 103

IsKindOf(类型识别) 109

Frame4范例程序 110

Dynamic Creation(动态生成) 111

DECLARE_DYNCREATE/IMPLEMENT_DYNCREATE宏112

Frame6范例程序117

Persistence(永久保存)机制124

Serialize(数据读写)124

DECLARE_SERIAL/IMPLEMENT_SERIAL宏129

没有范例程序131

Message Mapping(消息映射)132

Frame7范例程序139

Command Routing(命令传递)147

Frame8范例程序155

本章回顾165

第二篇 欲善工事先利其器167

第4章 Visual C++集成开发环境169

安装与组成 169

四个重要的工具 179

内务府总管:Visual C++集成开发环境 180

关于project 182

关于工具设定 185

Source Browser 186

Online Help 189

调试工具 191

VC++调试器 192

Exception Handling 195

程序代码产生器:AppWizard 196

东圈西点完成MFC程序骨干 197

威力强大的资源编辑器 224

Icon编辑器 225

Bitmap编辑器 226

Cursor编辑器 226

工具栏(Toolbar)编辑器 227

VERSIONINFO资源编辑器 228

字符串表格(String Table)编辑器 229

菜单(Menu)编辑器 230

加速键(Accelerator)编辑器 231

对话框(Dialog)编辑器 231

Console程序的项目管理 232

第三篇 浅出MFC程序设计 235

什么是Application Framework? 237

第5章 总观Application Framework 237

侯捷怎么说 238

我怎么说 239

别人怎么说 241

为什么使用Application Framework 244

Microsoft Foundation Classes(MFC)  246

白头宫女话天宝:Visual C++与MFC 248

纵览MFC 250

General Purpose classes 250

数据处理类(collection classes) 251

杂项类 251

CObject 251

异常处理类(exception handling classes) 252

Windows API classes 252

Application framework classes 253

High level abstractions 254

Afx全局函数 254

MFC宏(macros) 255

MFC数据类型(data types) 256

第6章 MFC程序的生死因果 259

不二法门:熟记MFC类的层次结构 261

需要什么函数库? 262

需要什么头文件? 263

简化的MFC程序结构——以Hello MFC为例 264

Hello程序程序代码 265

MFC程序的来龙去脉(causal relations) 270

我只借用两个类:CWinApp和CFrameWnd 270

CWinApp——取代WinMain的地位 270

CFrameWnd——取代WndProc的地位 273

引爆器——Application object 274

隐晦不明的WinMain 275

AfxWinInit——AFX内部初始化操作 278

CWinApp∷InitApplication 279

CMyWinApp∷InitInstance 280

CFrameWnd∷Create产生主窗口(并先注册窗口类) 281

奇怪的窗口类名称Afx∶b∶14ae∶6∶3e8f 289

窗口显示与更新 291

CWinApp∷Run——程序生命的活水源头 291

把消息与处理函数连接在一起:Message Map机制 294

来龙去脉总整理 296

Callback函数 297

空闲时间(idle time)的处理:OnIdle 300

Dialog与Control302

通用对话框(Common Dialogs)303

本章回顾 304

第7章 简单而完整:MFC骨干程序 307

不二法门:熟记MFC类层次结构 307

MFC程序的UI新风貌 307

Document/View支撑你的应用程序 312

利用Visual C++工具完成Scribble step0 314

骨干程序使用哪些MFC类? 315

Document Template的意义 320

Scribble的Document/View设计 324

主窗口的诞生 325

工具栏和状态栏的诞生(Toolbar Status bar) 327

鼠标拖放(Drag and Drop) 329

消息映射(Message Map) 331

标准菜单File/Edit/View/Window/Help 331

对话框 333

改用CEditView 334

第四篇 深入MFC程序设计 337

为什么需要Document-View(形而上) 339

第8章 Document-View深入探讨 339

Document 340

View 341

Document Frame(View Frame) 342

Document Template 342

CDocTemplate管理CDocument/CView/CFrameWnd 342

Scribble Stepl的Document——数据结构设计 349

MFC Collection Classes的选用349

CScribbleDoc的修改352

文件:一连串的线条359

线条与坐标点 361

Scribble Stepl的View:数据重绘与编辑 363

CScribbleView的修改 364

View的重绘操作:GetDocument和OnDraw 368

ClassWizard的辅佐 370

WizardBar的辅佐 372

Serialize:对象的档案读写 372

Serialization以外的档案读写操作372

台面上的Serialize操作 374

台面下的Serialize写档奥秘 379

台面下的Serialize读档奥秘 383

DYNAMIC/DYNCREATE/SERIAL三宏 389

Serializable的必要条件 394

CObject类 395

IsKindOf 395

IsSerializable 396

CObject∷Serialize 397

CArchive类 397

operator<<和operator>> 398

自定SERIAL宏给抽象类使用 401

效率考虑 401

在CObList中加入CStroke以外的类 402

Document与View交流——为Step4做准备 406

第9章 消息映射与命令传递 409

到底要解决什么 409

消息分类 410

万流归宗Command Target(CCmdTarget) 411

三个奇怪的宏,一张巨大的网 412

DECLARE_MESSAGE_MAP宏413

消息映射网的形成:BEGIN.../ON.../END...宏414

米诺托斯(Minotauros)与西修斯(Theseus)418

二万五千里长征——消息的传递 422

直线上溯(一般Windows消息) 423

拐弯上溯(WM_COMMAND命令消息) 426

罗塞达碑石:AfxSig_xx的奥秘 432

Scribble Step2:UI对象的变化 436

改变菜单 436

改变工具栏 438

利用ClassWizard连接命令项识别码与命令处理函数 440

维护UI对象状态(UPDATE COMMAND_UI)443

本章回顾 446

第10章 MFC与对话盒 447

对话框编辑器 448

利用ClassWizard连接对话框与其专用类 451

对话框的消息处理函数 456

对话框数据交换与校验(DDX DDV) 458

如何唤起对话框 462

本章回顾 464

第11章 View功能的加强与重绘效率的提高 467

同时修改多个Views:UpdateAllViews和OnUpdate 468

在View中定义一个hint 470

把hint传给OnUpdate 473

利用hint增加重绘效率 474

可卷动的窗口:CScrollView 476

大窗口中的小窗口:Splitter 484

切分窗口的功能 484

切分窗口的程序概念 484

切分窗口的实现 486

本章回顾 488

概述 491

第12章 打印与预览 491

打印操作的后台原理 494

MFC默认的打印机制 498

Scribble打印机制的增强 509

打印机的页和文件的页 509

配置GDI绘图工具 511

尺寸与方向:关于映射方式(坐标系统) 511

分页 514

页眉与页脚 516

打印预览(Print Preview) 517

动态计算页码 517

本章回顾 518

第13章 多重文件与多重显示 519

MDI和SDI 519

多重显示(Multiple Views) 520

窗口的动态切分 521

窗口的静态切分 523

CreateStatic和CreateView 524

窗口的静态三叉切分 526

Graph范例程序 527

静态切分窗口之观念整理 537

同源子窗口 537

CMDIFrameWnd∷OnWindowNew 538

Text范例程序 539

非标准做法的缺点 544

多重文件 545

新的Document类 545

新的Document Template 547

新的UI系统 548

新文件的档案读写操作 549

第14章 MFC多线程程序设计 553

从操作系统层面看线程 553

三个观念:模块、行程和线程 553

线程优先级(Priority) 555

线程调度(Scheduling) 557

Thread Context 557

从程序设计层面看线程 558

错误观念 559

正确态度 559

Worker Threads和UI Threads 559

MFC多线程程序设计 560

探索CWinThread 560

产生一个Worker Thread 563

产生一个UI Thread 564

线程的结束 565

线程与同步控制 565

MFC多线程程序例程 568

第15章 定制一个AppWizard 571

Custom AppWizard的基本操作 573

到底Wizard是什么? 573

剖析AppWizard Components 577

Dialog Templates和Dialog Classes 578

Macros 579

Directives 580

动手修改Top Studio AppWizard581

利用资源编辑器修改IDD_CUSTOM1对话框画面581

利用ClassWizard修改IDD_CUSTOM1对话框的对应类CCustomlDlg582

改写OnDismiss虚拟函数,在其中定义macros583

Top Studio AppWizard执行结果584

修改text template584

更多的信息585

第16章 站上众人的肩膀——使用Components ActiveX Controls 587

什么是Component Gallery 587

使用Components 590

Splash screen 590

System Info for About Dlg592

Tip of the Day593

Components实际运用:ComTest程序594

修改ComTest程序内容608

ActiveX Control基础观念:Properties、Methods、Events611

使用ActiveX Controls611

ActiveX Controls的五大使用步骤613

使用Grid ActiveX Control:OcxTest程序614

第五篇 附录627

附录A 无责任书评:从摇篮到坟墓Windows的完全学习629

无责任书评:MFC四大天王637

附录B Scribble Step 5完整原始码651

附录C Visual C++5.0 MFC范例程序一览683

附录D 以MFC重建DBWIN689

热门推荐