《Visval 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.5 动态连接库(DLLs)5

1.1.6 Windows NT5

1.2 Visual C++的组成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.9 源程序浏览器10

1.2.8 ClassWizard10

1.2.10 联机帮助10

1.2.11 Windows诊断工具11

1.2.12 Microsoft基本类库2.5版11

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

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

2.1.1 学习曲线14

2.2 什么是应用框架14

2.2.1 应用框架和MFC库14

2.2.2 应用框架例子15

2.3 MFC库消息映射17

2.3.1 文档和视18

目录18

前言18

第二部分 MFC库中的视类23

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

3.1 什么是视23

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

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

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

3.5.1 OnDraw成员函数27

3.4 CEx03aView视类27

3.5.2 Windows设备环境28

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

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

3.6.1 EX03A.RC的内容29

3.6.2 运行App Studio30

3.7 Windows的Debug内核和DBWIN32

3.8.1 允许诊断宏34

3.9 加速创建过程34

3.8 需要使用调试器吗34

3.10 创建新的MAK文件39

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

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

4.1.1 消息映射41

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

4.1.3 初始化视类数据成员42

4.1.4 使矩形区域无效43

4.1.5 Windows的用户区域43

4.2 EX04A例程序43

4.3.1 同时使用AppWizard和ClassWizard46

4.3 对EX04A使用ClassWizard46

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

4.4.1 EX04B程序的构成元素51

4.5 滚动视窗53

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

4.5.2 滚动条54

4.5.3 滚动方式的选择54

4.5.4 EX04C滚动例程序54

4.5.5 EX04C程序中的元素57

4.6.2 WM_CLOSE消息58

4.6.1 WM_CREATE消息58

4.6 其它Windows消息58

4.6.3 WM_QUERYENDSESSION消息59

4.6.4  WM_DESTROY消息59

4.6.5  WM_NCDESTROY消息59

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

5.1 设备环境类60

5.1.1 显示设备环境类CClientDC和CWindowDC60

5.1.2 构造和析构CDC对象61

5.1.4 CPaintDC类62

5.2 GDI对象62

5.1.3 设备环境的状态62

5.2.1 GDI对象的构造与析构63

5.2.2 跟踪GDI对象63

5.2.3 库存的GDI对象64

5.2.4 GDI选择的有效期64

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

5.3 Windows的颜色映射66

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

5.3.2 256色显示卡67

5.4.1 MM_TEXT映射方式68

5.3.3 24位颜色显示卡68

5.4 映射方式68

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

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

5.4.4 坐标变换71

5.5 字体73

5.5.1 字体是GDI对象73

5.5.2 选择字体73

5.5.3 打印字体73

5.5.5 窗口中的点——逻辑Twips74

5.5.4 显示字体74

5.5.6 计算字符高度75

5.6 EX05A例程序76

5.6.1 EX05A程序的组成元素79

5.7 EX05B程序79

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

5.8.1 EX05C程序的一些元素86

5.8.2 CScrollView的SetScaleToFitSize状态86

6.2 系统模式对话框87

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

第六章 有模式对话框87

6.3 资源和控制88

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

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

6.5.1 ClassWizard和对话框类95

6.5.2 将对话框与视相连接99

6.5.3 深入理解EX06A应用100

6.6 增强对话框函数101

6.6.1 获得OnOK退出控制101

6.6.3 和滚动条控制挂上钩103

6.6.2 OnCancel处理103

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

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

6.9 在对话框窗口内绘图106

6.10 利用其它的控制特性107

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

7.1 无模式对话框108

7.1.1 创建无模式对话框108

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

7.1.3 对话框的归属109

7.1.2 用户定义的消息109

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

7.3 COMMDLG对话框115

7.3.1 直接使用CFileDialog类116

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

7.3.3 从COMMDLG类进行派生116

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

第八章 Visual Basic控制122

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

8.2.2 属性和数据成员123

8.2.1 方法和成员函数123

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

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

8.3 Visual Basic事件登记124

8.4 CVBControl类124

8.5 EX08A例程序125

8.5.1 Visual Basic GRID控制126

8.5.2 创建EX08A例程序126

8.6 利用其它的Visual Basic控制135

8.7 Visual Basic的图象属性135

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

9.1 内存模式综述136

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

9.2 16位Windows137

9.2.1 Intel段结构137

9.2.2 DGROUP段和多事件程序138

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

9.2.4 近程函数调用139

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

9.2.6 局部堆142

9.2.7 全局堆142

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

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

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

9.3 检测内存疏漏(Leak)145

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

第十章 位图147

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

10.2 使用GDI位图147

10.3 彩色位图和单色位图148

10.4 从资源中装入GDI位图148

10.6 对位进行伸缩处理149

10.5 显示映射方式的作用149

10.6.1 EX10A例程序150

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

10.7.1 EX10B例程序153

10.8 GDI位图的其它应用157

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

11.1 位图按钮158

11.1.1 EX11A例程序158

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

11.2.1 计时器163

11.2.2 产生控制163

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

11.2.3 EX11B例程序164

11.3 空状态处理167

11.3.1 EX11C程序168

第三部分 文档-视结构175

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

12.1 主框架窗口和文档类175

12.2 Windows的菜单176

12.3 键盘加速键177

12.4 命令处理177

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

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

12.4.3 对话框发送的命令179

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

12.6 菜单项的允许/禁止180

12.7 CEditView类181

12.8 EX12A例程序181

12.9 CMenu类186

12.10 扩展命令处理187

12.11 EX12B例程序188

13.2 工具条193

13.1 控制条和应用框架193

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

13.2.1 工具条位图194

13.2.2 按钮的状态194

13.2.3 工具条和命令消息195

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

13.3 寻找主框架窗口196

13.4 EX13A工具条例程序197

13.5.1 状态条的定义202

13.5.2 信息行202

13.5 状态条202

13.5.3 状态指示器203

13.5.4 获得对状态条的控制203

13.6 EX13B状态条例程序204

第十四章 可重用基类209

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

14.2 CPersistentFrame类209

14.3 CFrameWnd类和ActivateFrame成员函数210

14.4 Windows的INI文件210

14.5 使用CString类212

14.8 缺省窗口矩形214

14.7 静态数据成员214

14.6 极大窗口的位置214

14.9 EX14A例程序215

14.10 MDI应用中的持续框架220

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

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

15.1.1 CView类的GetDocument函数221

15.1.2 CDocument类的UpdateAllViews函数222

15.1.3 CView类的OnUpdate函数222

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

15.1.4 CView的OnInitialUpdate函数223

15.3 CFormView类224

15.4 CObject类225

15.5 诊断信息转储225

15.5.1 TRACE宏225

15.5.2 afxDump对象226

15.5.3 信息转储环境及CObject类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.12 CMainFrame242

15.13 CStudentDoc242

15.13.3 构造函数和析构函数245

15.13.4 GetList245

15.13.2 数据成员245

15.13.1 ClassWizard和CStudentDoc245

15.13.5 DeleteContents246

15.13.6 Dump246

15.14 CStudentView246

15.14.1 ClassWizard和CStudentView253

15.14.2 数据成员254

15.14.3 OnInitialUpdate254

15.14.4 OnUpdate254

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

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

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

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

16.1 什么是序列化258

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

16.1.3 编写序列化函数259

16.1.2 使类可序列化259

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

16.1.5 使集合序列化263

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

16.2 SDI应用264

16.2.1 Windows应用对象264

16.2.2 文档模板类264

16.2.3 文档模板资源265

16.2.6 文档类的OnNewDocument函数267

16.2.4 SDI文档的多视267

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

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

16.2.8 文档类的DeleteContents函数268

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

16.2.10 文件的IsModified标记269

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

16.4 CStudent270

16.5 CEx16aApp271

16.6 CFrameWnd275

16.7 CStudentDoc278

16.7.1 Serialize278

16.7.2 OnOpenDocument278

16.7.3 OnUpdateFileSave278

16.7.4 CStudentView279

16.7.5 AppWizard和EX16A279

16.7.6 测试EX16A应用279

16.7.7 File Manager中的文档相关280

17.1 MDI应用282

22.11.7 CloseAllChildWindows282

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

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

17.1.2 MDI应用对象284

17.1.3 MDI文档模板类285

17.1.4 MDI框架窗口和子窗口285

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

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

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

17.1.8 装入和存入文档287

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

17.2.1 程序登记288

17.1.9 多文档模板288

17.2.2 允许拖和放289

17.2.3 允许内嵌启动289

17.2.4 程序启动参数289

17.2.5 响应DDE消息290

17.3 EX17A例程序290

17.4 CEx17aApp291

17.5 CMainFrame295

17.5.1 测试EX17A应用297

17.6 EX17B例程序298

18.1.2 交互选择打印页码301

18.1 Windows的打印301

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

18.1.1 标准打印机对话框301

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

18.1.3 显示页和打印页303

18.2 打印预显303

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

18.3.2 CView类∷OnPrint函数304

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

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

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

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

18.6 留给读者的一些练习316

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

19.1 切分窗口317

19.2 多视选择317

19.3 动态和静态切分窗口318

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

19.4.1 CMainFrame318

19.4.2 资源需求319

19.4.3 测试EX19A应用320

19.5.1 CHexView320

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

19.5.2 CMainFrame321

19.5.3 测试EX19B应用322

19.6 EX19C——多视类MDI例子322

19.6.1 CEx19cApp322

19.6.2 CMainFrame323

19.6.3 资源要求325

19.6.4 测试EX19C应用325

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

20.1 Windows的WINHELP程序326

20.1.1 复文本格式(RTF)326

20.1.2 编写简单的帮助文件327

20.2 应用框架与WINHELP331

20.2.1 调用WINHELP332

20.2.2 使用搜索字符串332

20.2.3 帮助上下文别名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.4 MAKEHELP处理337

20.5 帮助命令处理337

20.5.1 F1处理过程338

20.5.2 Shift-F1处理过程338

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

20.7 头文件要求339

20.8 CEx20bApp339

20.9 CMDIHelpWnd339

20.10 CStringView341

20.11 CHexView341

20.12 资源要求342

20.13 帮助文件要求342

20.14 创建并测试该应用343

21.1 MATPLAN应用344

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

21.3.1 InitInstance346

21.2 对MATPLAN应用的分析346

21.3 CMatplanApp346

21.3.2 ExitInstance347

21.4 CMatplanDoc347

21.4.1 构造函数347

21.4.2 Serialize347

21.4.3 DeleteContents347

21.4.4 OnEditClearAll348

21.5.6 OnUpdateFileSave348

21.5 CMainFrame348

21.5.1 OnWindowNew1348

21.5.2 OnWindowNew2348

21.5.5 OnUpdateEditClearAll348

21.6 CMDISpecialChildWnd349

21.6.1 OnCommandHelp349

21.7 CPiece349

21.7.1 Draw349

21.7.4 InsertInList,ExtractFromList350

21.7.2 PrintLine350

21.7.3 Serialize350

21.8 CMatplanDialog351

21.8.1 构造函数351

21.8.2 DoDataExchange352

21.8.3 OnclickedCancel352

21.8.4 OnClear,OnDelete,OnInsert,OnUpdate353

21.8.5 OnCancel353

21.9 ClistView353

21.9.3 OnPrint354

21.9.2 OnDraw354

21.9.1 OnPrepareDC354

21.9.4 OnUpdate355

21.9.5 OnPreparePrinting355

21.9.6 OnBeginPrinting,OnEndPrinting355

21.9.7 OnCreate356

21.9.8 OnPaint356

21.9.9 OnSize356

21.9.10 OnListBoxDblClk357

21.9.11 OnCommandHelp,OnHelpHitTest357

21.10.1 OnDraw358

21.9.12 StartNewList358

21.10 CPlanView358

21.9.13 UpdatePlanDocument358

21.10.2 OnPreparePrinting359

21.10.3 OnUpdate359

21.10.4 OnInitialUpdate359

21.10.5 OnPaint360

21.10.6 OnLButtonDown361

21.10.7 OnMouseMove361

21.10.8 OnLButtonUp362

21.10.12 ShowOverlap363

21.10.13 SafeScrollTo363

21.10.9 OnLButtonDblClk363

21.10.11 OnCommandHelp,OnHelpHitTest363

21.10.10 OnKeyDown363

21.11 MATPLAN资源文件364

21.11.1 IDD_FORM对话框364

21.12 头文件365

21.13 创建并测试MATPLAN应用365

21.11.2 IDR_MATTYPE菜单365

21.11.3 符号365

第四部分 高级话题369

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

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

22.2 CEx22aApp372

22.2.1 InitInstance372

22.3 CMainFrame372

22.3.1 构造函数372

22.3.2 OnPaint372

22.3.3 OnClose372

22.3.4 OnQueryEndSession373

22.3.5 OnFile,OnHlp373

22.4 资源要求373

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

22.7.2 构造函数376

22.7.1 数据成员376

22.7.3 DoDataExchange376

22.6.2 InitInstance376

22.6.1 数据成员376

22.7 CEx22bDialog376

22.6 CEx22bApp376

22.7.4 OnClickedCompute377

22.8 资源要求377

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

22.10 CEx22cApp381

22.10.1 InitInstance381

22.11 CMainFrame381

22.11.1 构造函数381

22.11.6 OnUpdateWindowCloseAll382

22.12.1 数据成员382

22.12 CChildFrame382

22.11.3 OnQueryEndSession382

22.11.5 OnWindowCloseAll382

22.11.4 OnFileNew382

22.11.2 OnClose382

22.12.2 构造函数383

22.12.3 OnPaint383

22.12.4 OnClose383

22.12.5 OnFileClose383

22.12.6 删除CMDIChildWnd对象383

22.13 资源要求383

23.1 Windows的DIB格式385

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

23.2 DIB、颜色以及调色板386

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

23.4 位图裁剪板规则387

23.5 MFC库文档中的DIB388

23.6 利用DIB进行打印388

23.7 CDib类388

23.8 DIB访问函数397

23.9 EX23A例程序398

23.10 CEx23aDoc398

23.11 CBitsDialog399

23.12.1 内存申请399

23.12 CDib399

23.10.1 构造函数,析构函数399

23.10.4 OnEditClearAll399

23.10.3 Serialize399

23.10.2 DeleteContents399

23.12.2 大位图的序列化400

23.13 CEx23aView400

23.13.1 构造函数,析构函数400

23.13.3 OnInitialUpdate401

23.13.2 OnCreate401

23.13.4 OnDraw402

23.13.5 OnEditCopy403

23.13.6 OnEditCopyTo403

23.13.7 OnEditCut403

23.13.8 OnEditPaste404

23.13.9 OnEditPasteFrom404

23.13.10 OnPrint404

23.14.1 IDD_BITS对话框资源405

23.14 EX23A资源文件405

23.13.12 更新命令UI函数405

23.13.11 OnUpdate405

23.14.2 IDR_MAINFRAME菜单资源406

23.15 测试EX23A应用406

23.16 位图操作407

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

24.1 数据库管理和序列化408

24.2 SQL409

24.3 ODBC标准409

24.5 ODBC SDK程序设计410

24.4 ODBC结构410

24.6 MFC ODBC类412

24.7 EX24A例程序413

24.8 CEX24A例程序中的元素417

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

24.8.2 CEx24aView类的OnIitialUpdate成员函数418

24.8.3 CEx24aView类的OnDraw成员函数418

24.9 MFC库对话框条419

24.10 应用的关闭420

24.11 行-视类420

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

24.11.1 滚动问题430

24.11.3 CRowView的纯虚成员函数431

24.11.4 CRowView的其它函数431

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

24.13 清点记录集中的行432

24.14 EX24B例程序432

24.15 CEx24bApp433

24.17.3 OnFileConnect434

24.17.2 OnNewDocument434

24.17.1 数据成员434

24.16 CMainFrame434

24.17 CEx24bDoc434

24.17.4 OnFileDisconnect435

24.17.5 OnQueryRequery436

24.17.6 PutFilterSort,GetFilterSort436

24.17.7 SaveModified436

24.17.8 Serialize436

24.18 CEx24bView436

ChangeSelectionToRow437

24.18.5 OnDrawRow,DrawDataRow437

24.18.4 GetRowCount437

24.18.2 OnUpdate437

24.18.3 GetRowWidthHeight,GetActiveRow,ChangeSelectionNexRow,437

24.18.1 数据成员437

24.19 CEx24bSet440

24.19.1 数据成员440

24.19.2 Initialize440

24.19.3 DoFieldExchange441

24.19.4 析构函数442

24.20.3 OnInitDialog443

24.20.2 构造函数443

24.20 CTableSelect443

24.20.1 数据成员443

24.20.4 OnDblclkListl444

24.21 EX24B资源文件444

24.22 运行EX24B程序445

24.23 对ODBC的进一步讨论445

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

25.1 OLE的学习446

25.2.1 COM解决的问题447

25.2.2 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.3.8 包容和继承471

25.4 OLE自动化471

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

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

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

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

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

25.5 IDispatch接口475

25.5.1 OLE自动化程序设计476

25.5.2 MFC IDispatch的实现477

25.5.3 一个MFC OLE自动化侍者477

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

25.5.5 VARIANT类型480

25.5.6 CVariant类482

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

25.6 OLE自动化例子486

25.6.1 EX25B自动化侍者EXE——不带任何用户接口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.1 类库DLL的使用仅限于Microsoft C++编译器517

26.3 MFC库DLL517

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.12 创建DLL522

26.3.10 类静态数据成员522

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

26.3.13 创建引入库523

26.3.14 DLL的调试版和发行版523

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

26.4.1 EX26AD.DEF文件524

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

26.4.3 创建引入库并拷贝DLL526

26.5 EX26B——使用MFC库扩展DLL526

26.8 CEx26bView527

26.7 CEx26bDoc527

26.6 CEx26bApp527

26.9 CStudentDialog529

26.10 创建并测试EX26B程序529

26.10.1 资源访问530

第五部分 附录535

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

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

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

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

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

高度相关资料

MFC技术内幕(1999 PDF版)
MFC技术内幕
1999 北京:机械工业出版社
MFC技术内幕( PDF版)
MFC技术内幕
Visual C++ 技术内幕( PDF版)
Visual C++ 技术内幕
Microsoft SQL Server 6.5技术内幕(1999 PDF版)
Microsoft SQL Server 6.5技术内幕
1999
WindowsTM95技术内幕(1995年06月第1版 PDF版)
WindowsTM95技术内幕
1995年06月第1版 清华大学出版社
网络互连技术内幕(1998 PDF版)
网络互连技术内幕
1998 杭州:浙江科学技术出版社;西蒙与舒斯特国际出版公司
中文Windows 98技术内幕(1993 PDF版)
中文Windows 98技术内幕
1993 北京:机械工业出版社
Programming Visual C++ 6.0技术内幕  修订版(1999 PDF版)
Programming Visual C++ 6.0技术内幕 修订版
1999 北京:北京希望电脑公司;北京:北京希望电子出版社
Visual C++ 技术内幕  第2版(1996 PDF版)
Visual C++ 技术内幕 第2版
1996 北京:清华大学出版社
Windows NT 技术内幕(1993 PDF版)
Windows NT 技术内幕
1993 北京:清华大学出版社
Windows NT技术内幕 第2版(1999 PDF版)
Windows NT技术内幕 第2版
1999 北京:清华大学出版社
Visual C++ 技术内幕 第4版(1999 PDF版)
Visual C++ 技术内幕 第4版
1999 北京:清华大学出版社
Windows 2000编程技术内幕(1999 PDF版)
Windows 2000编程技术内幕
1999 北京:机械工业出版社
技术咨询内幕(1989 PDF版)
技术咨询内幕
1989 北京:科学技术文献出版社
Visual Basic 6技术内幕(1999 PDF版)
Visual Basic 6技术内幕
1999 北京:机械工业出版社