《Visual C++ 技术内幕 第2版》求取 ⇩

第一部分 Windows、Visual C++和应用框架基础3

第一章 Microsoft Windows和Visual C++3

1.1 Windows的编程模式3

1.1.1 消息处理3

1.1.2 Windows的图形设备接口(GDI)4

1.1.3 基于资源的程序设计4

1.1.4 内存管理4

1.1.6 Windows NT5

1.2 Visual C++的组成5

1.1.5 动态连接库(DLLs)5

1.2.1 Visual工作平台和创建过程6

1.2.2 App Studio资源编辑器8

1.2.3 C/C++编译器8

1.2.4 连接器8

1.2.5 资源编译器9

1.2.6 调试器9

1.2.7 AppWizard9

1.2.8 ClassWizard10

1.2.10 联机帮助10

1.2.9 源程序浏览器10

1.2.12 Microsoft基本类库2.5版11

1.2.11 Windows诊断工具11

第二章 Microsoft基本类库应用框架12

2.1 为什么要使用应用框架12

2.2.1 应用框架和MFC库14

2.1.1 学习曲线14

2.2 什么是应用框架14

2.2.2 应用框架例子15

2.3 MFC库消息映射17

2.3.1 文档和视18

目录18

前言18

3.1 什么是视23

第三章 从“Hello,world!”入手来学习AppWizard23

第二部分 MFC库中的视类23

3.3 “不做任何事情”的应用24

3.2 单文档接口(SDI)和多文档接口(MDI)24

3.5.1 OnDraw成员函数27

3.5 在视窗内绘图——Windows的图形设备接口27

3.4 CEx03aView视类27

3.5.3 往EX03A程序中加入绘制代码28

3.5.2 Windows设备环境28

3.6.1 EX03A.RC的内容29

3.6 提前了解一下App Studio,同时介绍一下资源29

3.6.2 运行App Studio30

3.7 Windows的Debug内核和DBWIN32

3.9 加速创建过程34

3.8.1 允许诊断宏34

3.8 需要使用调试器吗34

3.10 创建新的MAK文件39

4.1.1 消息映射41

4.1 获取用户输入——消息映射函数41

第四章 基本事件控制——使用ClassWizard41

4.1.3 初始化视类数据成员42

4.1.2 保存视的状态-类数据成员42

4.2 EX04A例程序43

4.1.5 Windows的用户区域43

4.1.4 使矩形区域无效43

4.3.1 同时使用AppWizard和ClassWizard46

4.3 对EX04A使用ClassWizard46

4.4 EX04B——通过鼠标来拖动圆49

4.4.1 EX04B程序的构成元素51

4.5 滚动视窗53

4.5.4 EX04C滚动例程序54

4.5.3 滚动方式的选择54

4.5.1 窗口比人们所见到的要大54

4.5.2 滚动条54

4.5.5 EX04C程序中的元素57

4.6.2 WM_CLOSE消息58

4.6.1 WM_CREATE消息58

4.6 其它Windows消息58

4.6.5 WM_NCDESTROY消息59

4.6.4 WM_DESTROY消息59

4.6.3 WM_QUERYENDSESSION消息59

5.1.1 显示设备环境类CClientDC和CWindowDC60

5.1 设备环境类60

第五章 图形设备接口(GDI)60

5.1.2 构造和析构CDC对象61

5.2 GDI对象62

5.1.4 CPaintDC类62

5.1.3 设备环境的状态62

5.2.2 跟踪GDI对象63

5.2.1 GDI对象的构造与析构63

5.2.4 GDI选择的有效期64

5.2.3 库存的GDI对象64

5.2.5 持久的用于显示的设备环境——登记窗口类65

5.3.1 标准视频图形矩阵(VGA)显示卡66

5.3 Windows的颜色映射66

5.3.2 256色显示卡67

5.4.1 MM_TEXT映射方式68

5.4 映射方式68

5.3.3 24位颜色显示卡68

5.4.2 “固定比例”的映射方式69

5.4.3 “比例可变”的映射方式70

5.4.4 坐标变换71

5.5.3 打印字体73

5.5.2 选择字体73

5.5 字体73

5.5.1 字体是GDI对象73

5.5.5 窗口中的点——逻辑Twips74

5.5.4 显示字体74

5.5.6 计算字符高度75

5.6 EX05A例程序76

5.7 EX05B程序79

5.6.1 EX05A程序的组成元素79

5.8 EX05C例程序——再次使用CScrollView83

5.8.2 CScrollView的SetScaleToFitSize状态86

5.8.1 EX05C程序的一些元素86

6.2 系统模式对话框87

6.1 有模式和无模式对话框87

第六章 有模式对话框87

6.4 有模式对话框的程序设计88

6.3 资源和控制88

6.5 包罗万象的对话框——EX06A例程序89

6.5.1 ClassWizard和对话框类95

6.5.2 将对话框与视相连接99

6.5.3 深入理解EX06A应用100

6.6.1 获得OnOK退出控制101

6.6 增强对话框函数101

6.6.3 和滚动条控制挂上钩103

6.6.2 OnCancel处理103

6.7 确认控制:CWnd指针和控制ID105

6.9 在对话框窗口内绘图106

6.8 设置对话框的背景及其中控制的颜色106

6.10 利用其它的控制特性107

7.1.1 创建无模式对话框108

7.1 无模式对话框108

第七章 无模式对话框和COMMDLG对话框类108

7.1.4 无模式对话框的例子——EX07A109

7.1.3 对话框的归属109

7.1.2 用户定义的消息109

7.3 COMMDLG对话框115

7.2 CFormView类——另外一个可供选择的无模式对话框115

7.3.4 使用CFileDialog的一个例子——EX07B116

7.3.3 从COMMDLG类进行派生116

7.3.1 直接使用CFileDialog类116

7.3.2 在程序运行的过程中加进对话框控制116

8.1 Windows的标准控制和普通常规控制122

第八章 Visual Basic控制122

8.2.2 属性和数据成员123

8.2.1 方法和成员函数123

8.2 C++的类和Visual Basic控制123

8.4 CVBControl类124

8.3 Visual Basic事件登记124

8.2.3 Visual Basic控制事件和Windows控制通知124

8.5 EX08A例程序125

8.5.2 创建EX08A例程序126

8.5.1 Visual BasicGRID控制126

8.8 编写和利用Visual Basic控制的有利和不利因素135

8.7 Visual Basic的图象属性135

8.6 利用其它的Visual Basic控制135

9.1 内存模式综述136

第九章 全新的Windows内存管理136

9.2.1 Intel段结构137

9.2 16位Windows137

9.2.2 DGROUP段和多事件程序138

9.2.4 近程函数调用139

9.2.3 内存模式——一个代码段还是多个代码段139

9.2.5 内存模式——一个数据段还是多个140

9.2.7 全局堆142

9.2.6 局部堆142

9.2.10 80386/80486的虚内存管理器144

9.2.9 直接使用Windows的内存申请函数144

9.2.8 程序的vtable在内存中的位置144

9.3 检测内存疏漏(Leak)145

9.4 内存用尽时该如何处理146

10.2 使用GDI位图147

10.1 GDI位图和与设备无关的位图(DIB)147

第十章 位图147

10.4 从资源中装入GDI位图148

10.3 彩色位图和单色位图148

10.6 对位进行伸缩处理149

10.5 显示映射方式的作用149

10.6.1 EX10A例程序150

10.7 利用位图改进屏幕显示152

10.7.1 EX10B例程序153

10.8 GDI位图的其它应用157

11.1.1 EX11A例程序158

11.1 位图按钮158

第十一章 位图按钮、计时器和空状态处理158

11.1.2 对位图按钮的进一步讨论162

11.2.2 产生控制163

11.2.1 计时器163

11.2 计时器的使用及控制的产生163

11.2.3 EX11B例程序164

11.3 空状态处理167

11.3.1 EX11C程序168

12.1 主框架窗口和文档类175

第十二章 菜单和键盘加速键175

第三部分 文档-视结构175

12.2 Windows的菜单176

12.4 命令处理177

12.3 键盘加速键177

12.4.2 更新命令用户接口(UI)消息178

12.4.1 派生类中的命令消息控制178

12.5 应用框架的内含菜单项179

12.4.3 对话框发送的命令179

12.6 菜单项的允许/禁止180

12.8 EX12A例程序181

12.7 CEditView类181

12.9 CMenu类186

12.10 扩展命令处理187

12.11 EX12B例程序188

13.2 工具条193

13.1 控制条和应用框架193

第十三章 工具条和状态条193

13.2.2 按钮的状态194

13.2.1 工具条位图194

13.2.4 工具条更新命令UI消息195

13.2.3 工具条和命令消息195

13.3 寻找主框架窗口196

13.4 EX13A工具条例程序197

13.5.2 信息行202

13.5.1 状态条的定义202

13.5 状态条202

13.5.4 获得对状态条的控制203

13.5.3 状态指示器203

13.6 EX13B状态条例程序204

14.2 CPersistentFrame类209

14.1 为什么可重用基类难以设计209

第十四章 可重用基类209

14.4 Windows的INI文件210

14.3 CFrameWnd类和ActivateFrame成员函数210

14.5 使用CString类212

14.8 缺省窗口矩形214

14.7 静态数据成员214

14.6 极大窗口的位置214

14.9 EX14A例程序215

14.10 MDI应用中的持续框架220

15.1.1 CView类的GetDocument函数221

15.1 文档-视之间的相互作用函数221

第十五章 文档与视的分离221

15.1.3 CView类的OnUpdate函数222

15.1.2 CDocument类的UpdateAllViews函数222

15.2 最简单的文档-视应用223

15.1.4 CView的OnInitialUpdate函数223

15.3 CFormView类224

15.5.1 TRACE宏225

15.5 诊断信息转储225

15.4 CObject类225

15.5.3 信息转储环境及CObject类226

15.5.2 afxDump对象226

15.5.4 未被删除对象的自动信息转储227

15.6 EX15A例程序229

15.7 更加高级的文档-视之间的相互作用235

15.9 CObList集合类236

15.8 CDocument的Delete Contents函数236

15.9.1 对先入先出(FIFO)表使用CObList类237

15.9.2 在CObList中进行迭代——POSITION变量238

15.9.3 信息转储环境及集合类239

15.10 EX15B例程序240

15.11 CEx15bApp241

15.13 CStudentDoc242

15.12 CMainFrame242

15.13.4 GetList245

15.13.3 构造函数和析构函数245

15.13.1 ClassWizard和CStudentDoc245

15.13.2 数据成员245

15.14 CStudentView246

15.13.6 Dump246

15.13.5 DeleteContents246

15.14.1 ClassWizard和CStudentView253

15.14.6 工具条按钮的更新命令UI消息控制函数254

15.14.5 工具条按钮命令消息控制函数254

15.14.2 数据成员254

15.14.3 OnInitialUpdate254

15.14.4 OnUpdate254

15.15.3 IDD_STUDENT对话框255

15.15.2 Edit菜单255

15.14.7 protected型虚函数255

15.15 资源要求255

15.15.1 符号255

15.15.4 工具条256

15.15.5 测试EX15B应用256

15.16 留给读者的两个练习257

16.1.1 磁盘文件和归档(Archives)258

16.1 什么是序列化258

第十六章 读和写文档——单文档接口258

16.1.3 编写序列化函数259

16.1.2 使类可序列化259

16.1.4 从归档中装入——内嵌对象和指针260

16.1.6 序列化函数和应用框架263

16.1.5 使集合序列化263

16.2.2 文档模板类264

16.2.1 Windows应用对象264

16.2 SDI应用264

16.2.3 文档模板资源265

16.2.6 文档类的OnNewDocument函数267

16.2.5 创建空文档——CWinApp的OnFileNew函数267

16.2.4 SDI文档的多视267

16.2.9 将File Save和File Save As与序列化代码相连接268

16.2.8 文档类的DeleteContents函数268

16.2.7 将File Open与序列化代码相连接——OnFileOpen268

16.3 EX16A——序列化SDI例程序269

16.2.10 文件的IsModified标记269

16.4 CStudent270

16.5 CEx16aApp271

16.6 CFrameWnd275

16.7.3 OnUpdateFileSave278

16.7.2 OnOpenDocument278

16.7 CStudentDoc278

16.7.1 Serialize278

16.7.6 测试EX16A应用279

16.7.5 AppWizard和EX16A279

16.7.4 CStudentView279

16.7.7 File Manager中的文档相关280

22.11.7 CloseAllChildWindows282

17.1 MDI应用282

第十七章 对文档的读和写——MDI282

17.1.1 一个典型的具有MFC库风格的MDI应用283

17.1.2 MDI应用对象284

17.1.4 MDI框架窗口和子窗口285

17.1.3 MDI文档模板类285

17.1.5 主框架和文档模板资源286

17.1.8 装入和存入文档287

17.1.6 创建空文档——CWinAppp∷OnFileNew函数287

17.1.7 为现存文档创建新的视287

17.2.1 程序登记288

17.1.9 多文档模板288

17.2 拖和放——程序和文档288

17.2.4 程序启动参数289

17.2.2 允许拖和放289

17.2.3 允许内嵌启动289

17.3 EX17A例程序290

17.2.5 响应DDE消息290

17.4 CEx17aApp291

17.5 CMainFrame295

17.5.1 测试EX17A应用297

17.6 EX17B例程序298

18.1.2 交互选择打印页码301

第十八章 打印和打印预显301

18.1 Windows的打印301

18.1.1 标准打印机对话框301

18.3 有关打印机的程序设计303

18.1.3 显示页和打印页303

18.2 打印预显303

18.3.3 准备设备环境——CView类∷OnPrepareDC函数304

18.3.1 打印机设备环境和CView∷OnDraw函数304

18.3.2 CView类∷OnPrint函数304

18.4 EX18A例程序——一个所见即所得的打印程序305

18.3.4 打印工作的开始和结束305

18.5 EX18B例程序——多页打印程序311

18.6 留给读者的一些练习316

19.2 多视选择317

第十九章 切分窗口和多视317

19.1 切分窗口317

19.4.1 CMainFrame318

19.3 动态和静态切分窗口318

19.4 EX19A——具有单个视类的SDI动态切分例子318

19.4.2 资源需求319

19.5.1 CHexView320

19.4.3 测试EX19A应用320

19.5 EX19B——双视类SDI静态切分例子320

19.5.2 CMainFrame321

19.6.1 CEx19cApp322

19.5.3 测试EX19B应用322

19.6 EX19C——多视类MDI例子322

19.6.2 CMainFrame323

19.6.4 测试EX19C应用325

19.6.3 资源要求325

20.1.1 复文本格式(RTF)326

第二十章 上下文相关帮助326

20.1 Windows的WINHELP程序326

20.1.2 编写简单的帮助文件327

20.2 应用框架与WINHELP331

20.2.3 帮助上下文别名332

20.2.1 调用WINHELP332

20.2.2 使用搜索字符串332

20.2.5 进入帮助的菜单333

20.2.4 决定帮助上下文333

20.2.8 消息框帮助——AfxMessageBox函数334

20.2.6 F1帮助334

20.2.7 Shift-F1帮助334

20.3 帮助例子——不需要任何编程335

20.2.9 一般的帮助335

20.5 帮助命令处理337

20.4 MAKEHELP处理337

20.5.2 Shift-F1处理过程338

20.5.1 F1处理过程338

20.9 CMDIHelpWnd339

20.6 帮助命令处理例程序——EX20B339

20.7 头文件要求339

20.8 CEx20bApp339

20.11 CHexView341

20.10 CStringView341

20.13 帮助文件要求342

20.12 资源要求342

20.14 创建并测试该应用343

21.1 MATPLAN应用344

第二十一章 一个实际的基于Windows的应用344

21.3.1 InitInstance346

21.2 对MATPLAN应用的分析346

21.3 CMatplanApp346

21.4.3 DeleteContents347

21.3.2 ExitInstance347

21.4 CMatplanDoc347

21.4.1 构造函数347

21.4.2 Serialize347

21.5.2 OnWindowNew2348

21.4.4 OnEditClearAll348

21.5.5 OnUpdateEditClearAll348

21.5.6 OnUpdateFileSave348

21.5 CMainFrame348

21.5.1 OnWindowNew1348

21.7.1 Draw349

21.6 CMDISpecialChildWnd349

21.6.1 OnCommandHelp349

21.7 CPiece349

21.7.4 InsertInList,ExtractFromList350

21.7.2 PrintLine350

21.7.3 Serialize350

21.8.1 构造函数351

21.8 CMatplanDialog351

21.8.3 OnclickedCancel352

21.8.2 DoDataExchange352

21.9 ClistView353

21.8.4 OnClear,OnDelete,OnInsert,OnUpdate353

21.8.5 OnCancel353

21.9.3 OnPrint354

21.9.1 OnPrepareDC354

21.9.2 OnDraw354

21.9.6 OnBeginPrinting,OnEndPrinting355

21.9.4 OnUpdate355

21.9.5 OnPreparePrinting355

21.9.9 OnSize356

21.9.7 OnCreate356

21.9.8 OnPaint356

21.9.11 OnCommandHelp,OnHelpHitTest357

21.9.10 OnListBoxDblClk357

21.10.1 OnDraw358

21.9.12 StartNewList358

21.9.13 UpdatePlanDocument358

21.10 CPlanView358

21.10.4 OnInitialUpdate359

21.10.2 OnPreparePrinting359

21.10.3 OnUpdate359

21.10.5 OnPaint360

21.10.7 OnMouseMove361

21.10.6 OnLButtonDown361

21.10.8 OnLButtonUp362

21.10.13 SafeScrollTo363

21.10.9 OnLButtonDblClk363

21.10.10 OnKeyDown363

21.10.11 OnCommandHelp,OnHelpHitTest363

21.10.12 ShowOverlap363

21.11.1 IDD_FORM对话框364

21.11 MATPLAN资源文件364

21.13 创建并测试MATPLAN应用365

21. 11.2 IDR_MATTYPE菜单365

21.11.3 符号365

21.12 头文件365

22.1 EX22A例子——一个SDI应用369

第四部分 高级话题369

第二十二章 不带文档和视的Microsoft基本类库2.0版程序369

22.3.3 OnClose372

22.2 CEx22aApp372

22.2.1 InitInstance372

22.3 CMainFrame372

22.3.1 构造函数372

22.3.2 OnPaint372

22.5 EX22B例程序——一个基于对话框的应用373

22.3.4 OnQueryEndSession373

22.3.5 OnFile,OnHlp373

22.4 资源要求373

22.7.3 DoDataExchange376

22.6 CEx22bApp376

22.6.1 数据成员376

22.6.2 InitInstance376

22.7 CEx22bDialog376

22.7.1 数据成员376

22.7.2 构造函数376

22.9 EX22C例程序——一个MDI应用377

22.7.4 OnClickedCompute377

22.8 资源要求377

22.11.1 构造函数381

22.10 CEx22cApp381

22.10.1 InitInstance381

22.11 CMainFrame381

22.12.1 数据成员382

22.11.2 OnClose382

22.11.3 OnQueryEndSession382

22.11.4 OnFileNew382

22.11.5 OnWindowCloseAll382

22.11.6 OnUpdateWindowCloseAll382

22.12 CChildFrame382

22.13 资源要求383

22.12.6 删除CMDIChildWnd对象383

22.12.2 构造函数383

22.12.3 OnPaint383

22.12.4 OnClose383

22.12.5 OnFileClose383

23.1 Windows的DIB格式385

第二十三章 将位图存入文档——DIB和裁剪板385

23.2 DIB、颜色以及调色板386

23.4 位图裁剪板规则387

23.3 通过裁剪板来传递图象387

23.7 CDib类388

23.6 利用DIB进行打印388

23.5 MFC库文档中的DIB388

23.8 DIB访问函数397

23.10 CEx23aDoc398

23.9 EX23A例程序398

23.12.1 内存申请399

23.12 CDib399

23.10.1 构造函数,析构函数399

23.10.2 DeleteContents399

23.10.3 Serialize399

23.10.4 OnEditClearAll399

23.11 CBitsDialog399

23.13.1 构造函数,析构函数400

23.13 CEx23aView400

23.12.2 大位图的序列化400

23.13.3 OnInitialUpdate401

23.13.2 OnCreate401

23.13.4 OnDraw402

23.13.7 OnEditCut403

23.13.6 OnEditCopyTo403

23.13.5 OnEditCopy403

23.13.10 OnPrint404

23.13.9 OnEditPasteFrom404

23.13.8 OnEditPaste404

23.14.1 IDD_BITS对话框资源405

23.14 EX23A资源文件405

23.13.11 OnUpdate405

23.13.12 更新命令UI函数405

23.15 测试EX23A应用406

23.14.2 IDR_MAINFRAME菜单资源406

23.16 位图操作407

24.1 数据库管理和序列化408

第二十四章 Microsoft ODBC数据库管理408

24.3 ODBC标准409

24.2 SQL409

24.5 ODBC SDK程序设计410

24.4 ODBC结构410

24.6 MFC ODBC类412

24.7 EX24A例程序413

24.8 CEX24A例程序中的元素417

24.8.3 CEx24aView类的OnDraw成员函数418

24.8.2 CEx24aView类的OnIitialUpdate成员函数418

24.8.1 记录集类与应用之间的连接418

24.9 MFC库对话框条419

24.11 行-视类420

24.10 应用的关闭420

24.11.2 将工作分摊于基类和派生类430

24.11.1 滚动问题430

24.12 针对动态记录集进行程序设计431

24.11.4 CRowView的其它函数431

24.11.3 CRowView的纯虚成员函数431

24.14 EX24B例程序432

24.13 清点记录集中的行432

24.15 CEx24bApp433

24.17.3 OnFileConnect434

24.17.2 OnNewDocument434

24.16 CMainFrame434

24.17 CEx24bDoc434

24.17.1 数据成员434

24.17.4 OnFileDisconnect435

24.18 CEx24bView436

24.17.8 Serialize436

24.17.5 OnQueryRequery436

24.17.6 PutFilterSort,GetFilterSort436

24.17.7 SaveModified436

24.18.5 OnDrawRow,DrawDataRow437

24.18.4 GetRowCount437

24.18.1 数据成员437

24.18.2 OnUpdate437

24.18.3 GetRowWidthHeight,GetActiveRow,ChangeSelectionNexRow,ChangeSelectionToRow437

24.19.2 Initialize440

24.19.1 数据成员440

24.19 CEx24bSet440

24.19.3 DoFieldExchange441

24.19.4 析构函数442

24.20.3 OnInitDialog443

24.20.2 构造函数443

24.20 CTableSelect443

24.20.1 数据成员443

24.21 EX24B资源文件444

24.20.4 OnDblclkList1444

24.23 对ODBC的进一步讨论445

24.22 运行EX24B程序445

25.1 OLE的学习446

第二十五章 对象连接与嵌入(OLE)及其自动化446

25.2.2 COM的实质447

25.2.1 COM解决的问题447

25.2 公共对象模式(COM)447

25.2.3 什么是COM接口448

25.2.4 IUnknown接口和QueryInterface成员函数452

25.2.5 引用记数:AddRef和Release函数455

25.3 类厂(class factory)456

25.3.1 COM和MFC——CCmdTarget类457

25.3.2 一个可运行的COM例子458

25.3.3 OLE和窗口登记数据库466

25.3.4 运行时刻对象登记467

25.3.5 COM客户程序是如何调用DLL侍者程序的468

25.3.6 COM客户程序是如何调用EXE侍者程序的469

25.3.7 MFC和OLE470

25.4.1 C++与Visual Basic for Application(VBA)之间的连接471

25.4 OLE自动化471

25.3.8 包容和继承471

25.4.3 Microsoft Excel——一种比Visual Basic还好的VisualBasic472

25.4.2 自动化控制程序和自动化侍者程序472

25.4.4 属性(property)、方法(method)和集合(collection)474

25.5 IDispatch接口475

25.4.5 OLE自动化所解决的问题475

25.5.1 OLE自动化程序设计476

25.5.3 一个MFC OLE自动化侍者477

25.5.2 MFCIDispatch的实现477

25.5.4 一个MFC OLE自动化控制程序478

25.5.5 VARIANT类型480

25.5.6 CVariant类482

25.5.7 Invoke的参数和返回值的类型转换484

25.6.1 EX25B自动化侍者EXE——不带任何用户接口486

25.6 OLE自动化例子486

25.6.2 EX25C自动化侍者DLL492

25.6.3 EX25D SDI自动化侍者EXE498

25.6.4 EX25E自动控制程序503

25.6.5 针对EX25B.EXE的市场控制程序类504

25.6.6 针对EX25C.DLL的控制程序类506

25.6.7 针对EX25D.EXE的控制程序类508

25.6.8 控制Microsoft Excel509

25.7 OLE及其未来514

第二十六章 动态连接库(DLLs)516

26.1 为什么使用DLL516

26.2 传统的DLL516

26.3 MFC库DLL517

26.3.1 类库DLL的使用仅限于Microsoft C++编译器517

26.3.2 作为DLL的类库类518

26.3.3 在应用中使用MFC 250D.DLL518

26.3.4 MFC库扩展DLL519

26.3.5 MFC库DLL内存使用519

26.3.6 扩展DLL需要的一些代码520

26.3.7 搜索资源520

26.3.8 内联构造函数521

26.3.9 扩展DLL的引出521

26.3.11 扩展DLL运行时刻类的确定522

26.3.12 创建DLL522

26.3.10 类静态数据成员522

26.3.14 DLL的调试版和发行版523

26.4 EX26A——编写自己的类库扩展DLL523

26.3.13 创建引入库523

26.4.1 EX26AD.DEF文件524

26.4.2 EX26AD工程的Visual工作平台选项525

26.4.3 创建引入库并拷贝DLL526

26.5 EX26B——使用MFC库扩展DLL526

26.7 CEx26bDoc527

26.8 CEx26bView527

26.6 CEx26bApp527

26.9 CStudentDialog529

26.10 创建并测试EX26B程序529

26.10.1 资源访问530

第五部分 附录535

附录A C++语言的速成教程535

附录B Microsoft基本类(MFC)库中的消息映射函数566

附录C 本书中用到的MicrosoftWindows函数570

附录D 用于Windows NT的Visual C++版本2.0572

1996《Visual C++ 技术内幕 第2版》由于是年代较久的资料都绝版了,几乎不可能购买到实物。如果大家为了学习确实需要,可向博主求助其电子版PDF文件(由(美)David J.Kruglinski著;王国印译 1996 北京:清华大学出版社 出版的版本) 。对合法合规的求助,我会当即受理并将下载地址发送给你。

高度相关资料

Windows NT 技术内幕(1993 PDF版)
Windows NT 技术内幕
1993 北京:清华大学出版社
MFC技术内幕( PDF版)
MFC技术内幕
Visual C++ 技术内幕( PDF版)
Visual C++ 技术内幕
WindowsTM95技术内幕(1995年06月第1版 PDF版)
WindowsTM95技术内幕
1995年06月第1版 清华大学出版社
Visval C++技术内幕第2版( PDF版)
Visval C++技术内幕第2版
北京:清华大学出版社
Visual C++ 6从入门到精通  第2版(1999 PDF版)
Visual C++ 6从入门到精通 第2版
1999 北京:北京希望电脑公司;北京:北京希望电子出版社
Visual C++ 6.0网络开发技术(1999 PDF版)
Visual C++ 6.0网络开发技术
1999 北京:人民邮电出版社
Programming Visual C++ 6.0技术内幕  修订版(1999 PDF版)
Programming Visual C++ 6.0技术内幕 修订版
1999 北京:北京希望电脑公司;北京:北京希望电子出版社
Visual C++ 5.0编程技术(1998 PDF版)
Visual C++ 5.0编程技术
1998 北京:北京航空航天大学出版社
Visual C++多媒体编程技术(1999 PDF版)
Visual C++多媒体编程技术
1999 北京:人民邮电出版社
Visual C++ 6.0数据库开发技术(1999 PDF版)
Visual C++ 6.0数据库开发技术
1999 北京:机械工业出版社
Visual C++ 6.0实用编程技术(1999 PDF版)
Visual C++ 6.0实用编程技术
1999 北京:中国水利水电出版社
Visual C++可视化编程技术(1996 PDF版)
Visual C++可视化编程技术
1996 北京:科学出版社
Visual C++ Windows实用编程技术(1996 PDF版)
Visual C++ Windows实用编程技术
1996 北京:北京航空航天大学出版社
Visual C++开发工具程序员参考手册(1996 PDF版)
Visual C++开发工具程序员参考手册
1996 北京:电子工业出版社