当前位置:首页 > 工业技术
MFC应用开发教程
MFC应用开发教程

MFC应用开发教程PDF电子书下载

工业技术

  • 电子书积分:19 积分如何计算积分?
  • 作 者:(美)(V.布罗奎德)Vic Broquard著;汪泳等译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:1999
  • ISBN:7900622276
  • 页数:655 页
图书介绍:
《MFC应用开发教程》目录

第1章 字体初步 1

简介 1

目录 1

1.2 库存字体 1

1.1 使用注册表浏览已安装的字体 1

软件要求 2

1.3 物理设备及其规格 3

一些可以查询的其他资源 3

配套光盘上的例子程序 3

在发行版5.0中有哪些新的东西 3

1.4 字体规格 4

1.5 向屏幕和打印机输出绘制文本的函数 10

1.5.1 DrawText函数 10

1.5.2 TabbedTextOut函数 11

1.5.3 TextOut函数 12

1.5.4 ExtTextOut函数 12

1.6 文本格式化函数 13

1.6.1 设置并获取背景模式 13

1.6.2 设置并获取背景色 14

1.6.4 设置并获取文本对齐标准 15

1.6.3 设置并获取文本颜色 15

1.6.5 使用文本调整 18

1.6.6 字符间距 19

1.7 示例程序Pgm01a 19

1.7.1 文件清单:FrameWin.h—Pgm01a 19

1.7.2 文件清单(摘录):FrameWin.cpp—Pgm01a 20

1.8 设计单位——一种供选择的量制 24

1.9 创建字体 25

1.9.1 LOGFONT结构 27

1.9.2 字体匹配或实现 29

1.9.3 指定磅值大小的方法 30

1.9.4 字体匹配处理 31

1.10 Pgm01b——字体映射示例 33

1.10.1 文件清单(摘录):Pgm1BApp.cpp—Pgm01b 34

1.10.2 文件清单(摘录):FrameWin.h—Pgm01b 35

1.10.3 文件清单(摘录):FrameWin.cpp—Pgm01b 38

1.10.4 文件清单(摘录):Pgm1b.rc—Pgm01b 41

1.10.5 文件清单(摘录):LogfontDlg.h—Pgm01b 42

1.10.6 文件清单(摘录):LogfontDlg.cpp—Pgm01b 45

2.1 简介 49

第2章 使用字体 49

2.2 Choose Fonts通用对话框——CFontDialog 50

2.3 Windows 95和Windows NT内存分配 52

2.4 在Windows下的文件处理 54

2.4.1 长文件名 54

2.4.2 文件处理原则 56

2.4.3 使用Windows文件函数 56

2.5 CFileDialog的实现 60

2.6 使用多行编辑控件——CEdit 62

2.7 演示Choose Fonts通用对话框和CEdit控件的使用的样例程序——Pgm02a 64

2.6.1 CEdit控件提供的编辑特征 64

2.7.1 文件清单(摘录):Pgm02a.rc—Pgm02a 66

2.7.2 文件清单(摘录):resource.h—Pgm02a 67

2.7.3 文件清单(摘录):FrameWin.h—Pgm02a 68

2.7.4 文件清单(摘录):FrameWin.cpp—Pgm02a 70

2.8 字体枚举函数 75

2.8.1 判别系统平台 75

2.8.2 Windows 95字体枚举函数 75

2.8.3 Windows NT字体枚举函数 77

2.8.4 样例程序Pgm02b 77

2.8.5 文件清单(摘录):FrameWin.h—Pgm02b 78

2.8.6 文件清单(摘录):FrameWin.cpp—Pgm02b 80

2.9 使用CListCtrl构造一个有用的字体枚举控件 84

2.9.1 文件清单(摘录):FrameWin.cpp—Pgm02c 86

2.9.2 文件清单(摘录):FontEnumDlg.h—Pgm02c 87

2.9.3 文件清单(摘录):FontEnumDlg.cpp—Pgm02c 91

第3章 缩放方法和映射模式 95

3.1 映射模式——视口和窗口坐标 95

3.2 改变原点 96

3.3 改变范围或缩放比例 97

3.4 映射模式和舍入误差 98

3.5 计算磅值大小和Choose Fonts通用对话框 99

3.6 构造标尺 101

3.6.1 文件清单(摘录):RulerWin.h—Pgm03a 101

3.6.2 文件清单(摘录):RulerWin.cpp—Pgm03a 102

3.7 Pgm03a和文本显示方法 106

3.7.1 文件清单(摘录):FrameWin.h—Pgm03a 106

3.7.2 文件清单(摘录):FrameWin.cpp—Pgm03a 108

3.8 使用系统注册表 117

3.8.1 文件清单(摘录):IntermediateMFC.Reg 120

4.1.1 打印方法1:使用Screen Paint函数打印图文混排的页面 121

第4章 关于打印的基础内容 121

4.1 基本的打印方法 121

4.1.2 打印方法2:打印多页文档或打印报表 122

4.2 调整页面大小 122

4.3 使用字体 122

4.4 后台打印过程 123

4.5 Pgm04a——打印方法1——使用一个两用画图函数 123

4.5.1 文件清单(摘录):Pgm04a.rc—Pgm04a 124

4.5.2 文件清单(摘录):PrintDlg.h—Pgm04a 125

4.5.3 文件清单(摘录):PrintDlg.cpp—Pgm04a 126

4.5.4 文件清单(摘录):FrameWin.h—Pgm04a 127

4.5.5 文件清单(摘录):FrameWin.cpp—Pgm04a 128

4.6 修改Print对话框中的数据 138

4.7 MFC的打印序列 139

4.8 通过PrintPage而不是OnPaint直接打印 140

4.9 打印情况1(Pgm04b) 140

4.10 创建一个程序文本编辑器(带有打印支持)—Pgm04b 141

4.10.1 文件清单(摘录):Pgm04b.rc—Pgm04b 141

4.10.2 文件清单(摘录):FontEnumDlg.h—Pgm04b 142

4.10.4 PRINTDLG结构的部分清单 143

4.10.3 文件清单(摘录):FontEnumDlg.cpp—Pgm04b 143

4.10.5 文件清单(摘录):FrameWin.h—Pgm04b 148

4.10.6 文件清单(摘录):FrameWin.cpp—Pgm04b 151

第5章 文档-视图体系结构和打印预览 172

5.1 简介 172

5.2 应用程序设计 172

5.2.1 打印情况#2(Pgm05a) 175

5.3 Pgm05a的文档-视图实现 176

5.3.1 设计一个可串行化的SalesData类 176

5.3.2 文件清单(摘录):SalesDat.h—Pgm05a 177

5.3.3 文件清单(摘录):SalesData.cpp—Pgm05a 178

5.4 MFC文件处理:CFile类 181

5.5 MFC文档视图实现 183

5.5.1 文件清单(摘录):AcmeDoc.h—Pgm05a 183

5.5.2 文件清单(摘录):AcmeDoc.cpp—Pgm05a 186

5.6 Pgm05a和应用程序以及框架窗口的资源文件 190

5.6.1 文件清单(摘录):Pgm05a.rc—Pgm05a 191

5.6.2 文件清单(摘录):resource.h—Pgm05a 194

5.7 应用程序类—Pgm05aApp 195

5.8 重新查看系统注册表 196

5.8.1 文件清单(摘录):Pgm5aApp.cpp—Pgm05a 197

5.9 主窗口类—FrameWin 198

5.9.1 文件清单(摘录):FrameWin.h—Pgm05a 198

5.9.2 文件清单(摘录):FrameWin.cpp—Pgm05a 199

5.10 窗口的附加修饰 202

5.10.1 用MFC实现窗口修饰 202

5.10.2 构造控制栏和状态栏 203

5.11 CView类:AcmeView和AcmePlot 206

5.11.1 文件清单(摘录):AcmeView.h—Pgm05a 208

5.11.2 文件清单(摘录):AcmeView.cpp—Pgm05a 213

5.12 AcmeView的打印和打印预览处理 225

5.13 AcmePlot视图类 229

5.13.1 文件清单(摘录):AcmePlot.h—Pgm05a 229

5.13.2 文件清单(摘录):AcmePlot.cpp—Pgm05a 233

5.14 在多文档界面中使用文档视图—Pgm05b 239

5.14.1 文件清单(摘录):Pgm5bApp.cpp—Pgm05b 239

5.14.2 文件清单(摘录):FrameWin.h—Pgm05b 241

5.14.3 文件清单(摘录):FrameWin.cpp—Pgm05b 241

5.14.4 文件清单(摘录):ChildWin.h—Pgm05b 242

5.14.5 文件清单(摘录):ChildWin.cpp—Pgm05b 242

5.14.6 文件清单(摘录):Pgm05b.rc—Pgm05b 243

第6章 所见即所得——词的换行和对齐 245

6.1 所见即所得的原则 245

6.1.1 打印情况#3(Pgm06a) 246

6.2 把文档类作为当前打印机的储存库 246

6.3 使用CScrollView类 247

6.4 示例程序Pgm06a——文本文件的所见即所得浏览器 248

6.4.1 文件清单(摘录):Pgm06a.rc—Pgm06a 249

6.4.2 文件清单(摘录):Pgm6aApp.h—Pgm06a 253

6.4.3 文件清单(摘录):Pgm6aApp.cpp—Pgm06a 253

6.4.4 文件清单(摘录):FrameWin.h—Pgm06a 257

6.4.5 文件清单(摘录):FrameWin.cpp—Pgm06a 258

6.4.6 文件清单(摘录):EditDoc.h—Pgm06a 258

6.4.7 文件清单(摘录):EditDoc.cpp—Pgm06a 260

6.4.8 文件清单(摘录):EditView.h—Pgm06a 264

6.4.9 文件清单(摘录):EditView.cpp—Pgm06a 273

第7章 打印位图图像和处理颜色调色板 297

7.1 位图和DIB的比较 297

7.2 BitBlt 297

7.3 创建内存DC 299

7.5 DIB和颜色调色板 301

7.4 用户改变显示器设置的影响 301

7.5.1 文件清单(摘录):CDib.h—Pgm07a 304

7.5.2 文件清单(摘录):CDib.cpp—Pgm07a 305

7.6 处理颜色——调色板 313

7.7 显示DIB图像的方法 318

7.7.1 SetDIBitsToDevice方法 318

7.7.2 StretchDIBits方法 318

7.7.3 构造内存DC的两种方法 319

7.7.4 为游戏动画构造高速内存DC的DIB区域方法 320

7.8 灰度转换 325

7.9 位图打印及颜色调整指南 326

7.10 在打印机上缩放DIB 328

7.11 Pgm07a——打印BMP文件 328

7.11.1 打印情况#4(Pgm07a) 330

7.11.2 文件清单(摘录):BmpDoc.h—Pgm07a 338

7.11.3 文件清单(摘录):BmpDoc.cpp—Pgm07a 338

7.11.4 文件清单(摘录):BmpView.h—Pgm07a 342

7.11.5 文件清单(摘录):BmpView.cpp—Pgm07a 344

7.12 注册表的含义 360

8.1 外部Access数据库 361

第8章 使用DAO进行数据报表打印 361

8.2 Pgm08a中用的DAO类 362

8.3 用App Wizard建立DAO框架 364

8.4 在Pgm08a中实现5个CDaoRecordSet类 369

8.4.1 文件清单(摘录):DAOSales.h—Pgm08a 369

8.4.2 文件清单(摘录):DAOSales.cpp—Pgm08a 370

8.5 添加、更新和删除记录,剪贴板里的用户定义数据 371

8.5.1 文件清单(摘录):SalesView.h—Pgm08a 372

8.5.2 文件清单(摘录):SalesView.cpp—Pgm08a 374

8.5.3 文件清单(摘录):SalesDoc.h—Pgm08a 382

8.5.4 文件清单(摘录):SalesDoc.cpp—Pgm08a 383

8.6 使用5个记录集合,通过种类和项目累计总销售额——动态分配二维数组 384

8.6.1 文件清单(摘录):SalesView.cpp—Pgm08a 385

8.7 Pgm08a的打印操作 392

8.7.1 打印情况#5(Pgm08a) 392

8.7.2 文件清单(摘录):Pgm08a.cpp 393

8.7.3 文件清单(摘录):SalesView.cpp—Pgm08a 393

第9章 使用CTreeCtrl和ClistCtrl类处理DAO数据库中的数据 406

9.1 Access War数据库 406

9.2 Pgm09a的资源、应用程序和框架窗口类 410

9.2.2 文件清单(摘录):Pgm09a.rc—Pgm09a 412

9.2.1 文件清单(摘录):resource.h—Pgm09a 412

9.2.3 文件清单(摘录):FrameWin.h—Pgm09a 414

9.2.4 文件清单(摘录):FrameWin.cpp—Pgm09a 415

9.3 ChooseLandObjects对话框 417

9.3.1 文件清单(摘录):ChooseLandObjects.h—Pgm09a 417

9.4 树形控件和列表控件结构的细节 420

9.5 CTreeCtrl类的细节 423

9.6 CListCtrl类的细节 426

9.6.1 文件清单(摘录):ChooseLandObjects.cpp—Pgm09a 429

9.7.1 文件清单(摘录) :DBLandNodeOName.h—Pgm09a 444

9.7 在Pgm09a中的一些DAO类 444

9.7.2 文件清单(摘录):DBLandNodeOName.cpp—Pgm09a 445

9.7.3 文件清单(摘录):DBLandNodeQueryFwd.h—Pgm09a 446

9.7.4 文件清单(摘录):DBLandNodeQueryFwd.cpp—Pgm09a 447

第10章 深入了解控件、对话栏和工具栏 450

10.1 基本工具栏——使用CToolBar类 450

10.2 创建浮动调色板——从CToolBar中派生 453

10.2.1 文件清单(摘录):PaletteBox.cpp—Pgm10a 453

10.3 处理状态栏 455

10.4 动态获取状态栏或者主工具栏指针 456

10.5 编辑栏——在工具栏中放置组合框 457

10.5.1 文件清单(摘录):EditBar.h—Pgm10a 460

10.5.2 文件清单(摘录):EditBar.cpp—Pgm10a 461

10.5.3 文件清单(摘录):FontnumCBox.h—Pgm10a 465

10.5.4 文件清单(摘录):FontEnumCBox.cpp—Pgm10a 466

10.6 使用CDialogBar 470

10.6.1 OptionsBar 470

10.6.2 文件清单(摘录):OptionsBar.h—Pgm10a 472

10.6.3 文件清单(摘录):OptionsBar.cpp—Pgm10a 472

10.6.4 MapLocalStatsBar——在CDialogBar文本控件中显示信息 473

10.6.5 文件清单(摘录):MapLocalStatsBar.h—Pgm10a 474

10.6.6 文件清单(摘录):MapLocalStatsBar.cpp—Pgm10a 475

10.7 使用私有ini文件 477

10.8 MapControlBar——综合应用文本和CBitmapButton 480

10.8.1 文件清单(摘录):MapControlBar.h—Pgm10a 482

10.8.2 文件清单(摘录):MapControlBar.cpp—Pgm10a 483

10.9 控制三个对话栏的初始位置 485

10.10 用系统注册表存储并恢复工具栏状态 486

10.11 存储并恢复主窗口位置 487

10.12 GeoDoc和GeoView类 489

第11章 复杂的文档处理 491

11.1 打开文档文件的框架动作 491

11.2 Pgmlla第一次运行的配置工作 498

11.3 头数据类 499

11.3.1 文件清单(摘录):HeadData.h—Pgm11a 499

11.3.2 文件清单(摘录):HeadData.cpp—Pgm11a 500

11.4 Pgm11a的资源和应用程序类 503

11.4.1 文件清单(摘录):Pgm11a.rc 503

11.4.2 文件清单(摘录):Pgm11a.h 507

11.4.3 文件清单:Pgm11a.cpp 508

11.5 主要的颜色调色板 509

11.5.1 文件清单(摘录):Palette.h—Pgm11a 509

11.6 MainFrame类 510

11.6.1 文件清单(摘录):MainFrame.h—Pgm11a 510

11.6.2 文件清单(摘录):MainFrame.cpp—Pgm11a 511

11.7 HeadDoc和HeadView类 514

11.7.1 文件清单(摘录):HeadDoc.h—Pgm11a 515

11.7.2 文件清单(摘录):HeadDoc.cpp—Pgm11a 515

11.7.3 文件清单(摘录):HeadFrame.cpp—Pgm11a 524

11.7.5 文件清单(摘录):HeadView.cpp—Pgm11a 525

11.7.4 文件清单(摘录):HeadView.h—Pgm11a 525

11.8 ControlDoc和ControlView类 526

11.8.1 文件清单(摘录):ControlDoc.h—Pgm11a 527

11.8.2 文件清单(摘录):ControlDoc.cpp—Pgm11a 531

11.9 屏幕外缓冲区类 539

11.9.1 文件清单(摘录):BitmapDC.h—Pgm11a 540

11.9.2 文件清单(摘录):BitmapDC.cpp—Pgm11a 541

11.10 GameDoc和GameFrame类 544

11.10.1 文件清单(摘录):GameDoc.h—Pgm11a 544

11.10.2 文件清单(摘录):GameDoc.cpp—Pgm11a 546

11.10.3 文件清单(摘录):GameFrame.cpp—Pgm11a 549

11.11 GameView,PlayerView和OtherView类 550

11.11.1 文件清单(摘录):GameView.h—Pgm11a 550

11.11.2 文件清单(摘录):GameView.cpp—Pgm11a 552

11.11.3 文件清单(摘录):PlayerView.h—Pgm11a 556

11.11.4 文件清单(摘录):PlayerView.cpp—Pgm11a 557

11.11.5 文件清单(摘录):OtherView.h—Pgm11a 562

11.11.6 文件清单(摘录):OtherView.cpp—Pgm11a 563

第12章 增强型元文件和打印 565

12.1 运行中的Pgm12a程序 566

12.2 构造增强型元文件的整体设计原则 567

12.3 在增强型元文件中使用字体 574

12.4 用CMetaFileDC生成一个增强型元文件 576

12.5 避免绘图过程中潜在的问题 578

12.6 坐标映射和世界坐标转换 579

12.7 Pgm12a的实现 581

12.7.1 文件清单(摘录):Pgm12a.rc 581

12.7.2 Pgm12a的文档类—GraphDoc 582

12.7.3 文件清单(摘录):Function.h—Pgm12a 585

12.7.4 文件清单(摘录):Function.cpp—Pgm12a 588

12.7.5 文件清单:SincFunction.h—Pgm12a 592

12.7.6 文件清单(摘录):SincFunction.cpp—Pgm12a 593

12.7.7 文件清单(摘录):GraphDoc.h—Pgm12a 598

12.7.8 文件清单(摘录):GraphDoc.cpp—Pgm12a 601

12.7.9 GraphView类 607

12.7.10 文件清单(摘录):GraphView.h—Pgm12a 608

12.7.11 文件清单(摘录):GraphView.cpp—Pgm12a 609

12.8 打印增强型元文件 616

13.2 Internet MFC类 617

13.1 在应用程序中增加E-mail支持 617

第13章 介绍Internet类——生成具有下载功能的FTP文件浏览器 617

13.3 CInternetSession的详细说明 618

13.4 CFtpConnection类 620

13.5 CFtpFindFile类 621

13.6 Pgm13a——FTP浏览器和文件下载程序 622

13.7 Pgm13a的实现——FTP浏览器 624

13.7.1 文件清单(摘录):URLToolBar.h 624

13.7.2 文件清单(摘录):URLToolBar.cpp 625

13.8 View类和ClistCtrl类 626

13.7.3 文件清单(摘录):URLEdit.cpp 626

13.9 SiteList(CListCtrl)类 627

13.9.1 文件清单(摘录):SiteList.h 628

13.9.2 文件清单(摘录):SiteList.cpp 629

13.10 FTPView类 632

13.10.1 文件清单(摘录):FTPView.h 632

13.10.2 文件清单(摘录):FTPView.cpp 633

13.11 改进浏览器 645

附录A 字体的基本术语 647

附录B Windows的新的堆内存函数 652

附录C 如何使用本书配套光盘 654

返回顶部