当前位置:首页 > 工业技术
VisualC++6宝典
VisualC++6宝典

VisualC++6宝典PDF电子书下载

工业技术

  • 电子书积分:27 积分如何计算积分?
  • 作 者:(美)Richars C Lernecker等著;王文学,张廉等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2001
  • ISBN:7505345567
  • 页数:1087 页
图书介绍:
《VisualC++6宝典》目录
标签:宝典

前言 1

第1部分:Visual C++基础 5

第1章 入门 7

Visual C++ 6.0中的新特性 7

HelloWorld1程序 9

HelloWord2程序 12

HelloWorld3 ATL控件 14

小结 17

使用Visual Studio IDE 19

第2章 充分利用Visual Studio IDE的优势 19

创建第一个项目 20

自定义IDE 24

查看当前快捷键 24

增加、编辑或删除快捷方式 25

使用工具栏 26

显示和隐藏工具栏 26

自定义工具栏 27

小结 27

第3章 应用程序的调试 29

Visual Studio集成式调试程序 30

调试程序应该具备的性能 30

准备进行调试的应用程序 31

在运行应用程序时使用调试程序 33

调试窗口 33

在调试时使用断点和单步执行操作 37

使用DataTips信息以及QuickWatch窗口 39

在调试过程中使用Threads和Exceptions对话框 40

简单调试技巧 41

使用消息框加速调试 41

调试输出 42

对象倾倒 43

使用断言 43

检测内存泄漏与CMemoryState类 44

使用MFC跟踪 44

远程调试 45

Just-In-Time调试 47

编辑并继续调试 47

调Windows NT服务 47

小结 48

第4章 改善应用程序性能 49

优化代码 49

描述简介 52

了解Profiler的运行情况 53

了解有关应用程序描述的基本知识 53

描述类型 54

设置高级描述器设置 55

启用Visual C++ 6.0中的描述 56

从开发环境控制描述 56

选择需要描述的函数 57

了解PREP程序 57

函数定时描述 59

函数范围描述 60

行覆盖描述 61

行描述选项 61

合并描述器输出 62

从描述器中输出数据 63

分析描述器数据 63

了解全局信息记录 64

局部信息记录 65

分析描述器的统计数据 65

使用Microsoft Excel处理Profiler输出 66

描述动态链接库 66

描述ActiveX组件或ActiveX控件 67

描述内联代码 68

使用CAP工具删除重复调用 69

描述多线程应用程序 69

描述应用程序性能 69

描述Windows NT服务 70

小结 71

第5章 杂项工具 73

Spy++ 73

自定义Tools菜单 76

杂项工具的运作 77

浏览类 78

浏览MFC源代码 80

小结 80

第2部分:Windows编程基础 81

第6章 MFC编程概述 83

什么是MFC 83

MFC的设计原理 84

MFC使用方面的优势 85

丰富的特性 87

可扩展体系结构 87

MFC层次设计 87

文件服务 88

窗口 88

图形 91

不使用MFC的原因 92

数据库支持 92

小结 93

第7章 菜单 95

创建和编辑菜单 95

创建菜单 97

MFC中的菜单消息 98

加速键 99

检查键盘输入 100

定义加速键 100

选择适当的加速键 102

多个加速键表 104

动态更改菜单 106

菜单命令范围 106

在运行时更改菜单 107

更改现有弹出菜单 108

永久及临时句柄映射 110

上下文菜单 112

小结 114

第8章 鼠标和键盘 115

输入基础以及系统状态 115

创建鼠标消息处理程序 116

鼠标输入 116

在屏幕坐标和窗口坐标之间转换 118

创建处理鼠标事件的MFC程序 119

非客户鼠标事件 125

更改鼠标光标 126

创建更改鼠标指针的MFC演示程序 126

捕获鼠标 129

限制鼠标移动 131

键盘输入 131

物理键盘 132

回显键盘焦点 135

小结 141

第9章 图形 143

介绍图形设备界面 143

图形类型 144

GDI设备类型 145

设备上下文 146

DC绘图属性 147

WM_PAINT消息 149

绘制坐标 150

触发WM_PAINT 150

响应除WM_PAINT之外的其他消息进行绘图 151

GDI颜色支持 153

操纵文本 153

文本颜色 154

对齐文本 156

调整文本 157

关于字体 157

什么是字体 158

将对象选入DC 158

选择常备字体 158

选择非常备字体 159

画笔 163

画笔和画刷 163

画刷 165

映射模式 167

光栅操作 168

文本绘图函数 170

文本坐标的计算 171

剪取区域 176

小结 177

第10章 位图、调色板、DIB以及双缓冲 179

位图内存和视频内存 179

创建CBitmap对象 181

加载和设置位图内容 183

将CBitmaps绘制到屏幕上 184

光栅操作 187

BlitDemo程序 190

调色板和颜色 196

逻辑调色板 199

调色板事件 201

SetSystemPaletteUse()函数 203

设备无关位图 203

DIB文件剖析 203

CDib类 206

ShowDIB演示程序 212

双缓冲 215

小结 217

第11章 MFC异常处理 219

结构化异常处理 220

异常处理语法 220

抛出异常 220

捕获异常 221

错误处理技巧比较 222

处理错误代码 222

在正确上下文中处理错误 223

提高代码可读性 224

从构造函数中抛出异常 226

创建和删除CException对象 227

CException类 227

从CException对象中检索错误信息 228

捕获多种异常类型 229

定义CException派生类 230

研究CFileException类 231

CFileException演示程序 233

定义你自己的CException派生类 235

高级异常处理技术 239

确定应该捕获异常的函数 240

确定放置在try块中的代码 241

确定放置在catch块中的代码 242

从虚函数中抛出异常 244

小结 247

第12章 控件 249

背景 249

创建控件 250

使用CButton类 252

使用CListBox类 255

使用Edit类 258

使用CStatic类 262

使用CScrollBar类 265

使用CComboBox类 269

Mini Editor程序 272

高级控件编程 273

添加一个键盘界面 273

修改控件行为 274

位图按钮 275

更改控件的颜色 277

小结 279

第13章 模式和非模式对话 281

使用对话编辑器 281

创建新的对话模板 282

对话模板 282

编辑一个对话模板 283

测试对话 287

CDialog类 288

模式与非模式对话的对比 288

用ClassWizard创建CDialog派生类 290

对话数据交换和校验 290

创建DDX变量 291

DoDataExchange和UpdateData 292

AddressBook演示程序 294

编辑演示程序的对话 294

CContact类 295

取代OnInitdialog 296

处理WM_DESTROY消息 297

显示数据 298

处理按钮通知 299

建立和测试演示程序 300

在对话中派生控件类 300

创建控件类 300

AddressBook演示程序:CAutoCompleteComboBox 304

串行化 307

使每个类可串行化 307

实现Serialize()虚函数 307

给AddressBook演示程序添加串行化 308

把数据保存到磁盘 308

从磁盘中读取数据 308

小结 315

第14章 属性单和属性页 317

CPropertyShect和CPropertyPage 318

创建属性页资源 318

创建CPropertyPage类 319

创建和显示模式的CPropertySheet 319

创建和显示非模式的CPropertySheet 320

在一个现有对话内创建和显示属性单 321

模式属性单演示程序 322

删除标准按钮 324

属性单和属性页提示和技巧 324

重定位标准按钮 326

更改标准按钮的标题 327

禁用选项卡 327

重新启用属性页 331

动态设置CPropertyPage选项卡标题 333

更改选项卡的字体 336

使用CPropertyPage选项卡助记符 336

小结 338

第15章 数据I/O 339

CString类 339

访问字符串数据 340

创建字符串 340

比较 342

抽取子串 343

搜索 344

StringDemo程序 345

CFile类 351

FileDemo程序 355

CCompressedFile类 362

CompressDemo程序 362

LZSS 365

数据压缩 365

Huffman 365

LZW 366

CCompressedFile类函数 366

CompressDemo内幕 369

用于串行通讯的CSerial类 371

串行通讯 371

CSerial类 372

CRegistry类 374

注册表值 374

预定义的注册表键 374

常用注册表键 375

CRegistry类的使用 376

使用剪贴板 378

小结 381

第16章 声音 383

播放录制好的声音 383

CWave类简介 384

使用Windows API播放波形文件 384

CWave类函数 386

WaveDemo程序 387

CMidi类简介 391

什么是MIDI 391

播放MIDI文件 391

CMidi类函数 392

MIDIDemo程序 393

CD音频 396

CCDAudio类库简介 397

媒体控制接口 397

CCDAudio类函数 398

CDPlayer程序 399

小结 405

计时器 407

第17章 计时器和OnIdle循环处理 407

用WM_TIMER设置计时器 408

用一个回调过程设置计时器 410

Clock程序 411

使用CWinApp的OnIdle能力 418

OnIdleDemo程序 420

小结 423

第3部分:体系结构 425

第18章 内存管理 427

系统内存管理 429

Intel-86 32位分页寻址模式 430

Windows 98的单进程地址空间 431

系统内存清理 435

进程私有内存 437

分配页 438

编译器内存分配 442

Win32私有堆 447

共享内存 452

内存映射文件I/O 454

动态分配共享页 460

静态分配共享页 463

小结 465

文档/视图设计 467

第19章 文档、视图和SDI 467

CDocument类 469

在你的应用程序内声明一个文档类 469

CDocument的成员函数 471

理解文档和消息处理 472

取代虚文档函数 473

使用复杂文档数据 474

理解CCmdTarget和CDocItem的益处 477

InitInstance函数对文档的重要性 479

应用程序如何管理文档和视图 480

简介框架窗口 481

关注CSingleDocTemplate类 481

文档模板资源 482

字符串资源如何影响文档模板 482

分离字符串资源 483

看看常备视图资源 484

考虑文档模板生命周期 485

模板的高级用法 486

使用多个模板 486

销毁用AddDocTemplate()成员函数添加的文档 488

了解和使用CView类 488

声明一个视图类 489

分析CView成员函数 490

使用视图和消息 492

CView类的MFC派生变形 492

CForm视图与基于对话的应用程序的对比 493

返回框架窗口 494

理解AfxGetMainWnd()的角色 494

Hex View SDI应用程序 495

小结 501

第20章 MDI应用程序的布局 503

重谈文档/视图模型 504

回顾CDocument类 505

使用多文档类型 506

管理文档、视图和框架窗口的复杂组合 506

使用文档的多个视图 507

了解CMDIFrameWnd类 509

了解CMDIChildWnd类 510

了解CMultiDccTemplate类 511

回顾使用CDocument类的开销 512

进一步考虑MDI应用程序 513

PaintObj程序 514

理解拆分窗口 521

理解特定于CSplitterWnd类的内容 522

区分拆分窗口 522

详细讲解动态拆分 523

在动态面板中使用不同的视图 525

使用CRuntimeClass对象 526

对与多个文档关联的视图使用拆分器 527

使用静态拆分器 528

创建静态拆分器 528

了解共享滚动条 529

确定实际的和理想的尺寸 530

了解拆分器的性能问题 530

Dynsplit程序 531

为窗口定义子类 536

使用MFC定义窗口子类 537

文档/视图体系结构的替代 538

小结 539

第21章 打印和打印预览 541

Windows API打印机支持 541

打印机信息 545

理解字符特征的重要性 546

PortLand程序 546

用MFC进行打印 548

了解MFC打印序列 549

了解在打印中你的角色和框架的角色 549

进一步洞察MFC默认打印 553

打印协议 553

取代视图类函数和分页 553

了解CPrintInfo类 555

了解打印机的页和文档页的对比 555

实现分页 556

添加帮助函数 558

打印时分页 560

重谈页眉和页脚的打印 561

为打印分配GDI资源 561

扩大打印的图表 562

打印预览过程 563

修改打印预览 563

了解打印预览体系结构 563

增强应用程序的打印预览 564

了解CPrintDialog类 565

HexViewMDI程序 566

小结 570

第22章 用于高级Windows用户界面的MFC 571

更多的控制权 571

RunModalLoop()内部 572

理解模式循环 572

模式循环参数 575

终止模式循环 576

生成模式应用程序 577

创建和关闭模式窗口 577

添加处理程序 578

简单的模式应用程序 581

进一步改进模式窗口 581

在透明客户区上绘制透明位图 585

绘制位图 586

兼容的设备上下文 590

确定在什么地方粘贴位图 590

BITMAP结构 591

把所有图片叠合在一起 593

确保已被注意到 596

小结 596

第23章 状态栏和工具栏 597

创建和使用状态栏 597

创建状态栏 597

自定义状态栏 599

创建和控制工具栏 603

MFC控件栏 603

创建和初始化一个工具栏 604

使用ReBar控件 609

小结 610

第24章 树视图和列表视图控件 613

CTreeCtrl 614

树视图控件基础知识 614

CTreeCtrl 616

CtreeCtrl演示程序 624

CListCtrl 629

列表视图基础知识 630

CListCtrl 630

小结 636

第25章 线程 637

线程 638

创建工作者线程 638

线程函数 640

创建用户界面线程 640

挂起和继续执行线程 642

使线程睡眠 642

终止一个线程 643

从一个线程中终止另一个线程 644

线程、进程和优先级 647

进程优先级类 648

在线程之间共享MFC对象 649

在多线程应用程序中使用C运行函数 652

ThreadDemo1程序 652

小结 657

第4部分:数据库编程 659

第26章 ODBC 661

ODBC定义与数据库术语 662

ODBC产生自对标准的需要 663

ODBC标准 664

ODBC API一致性层 665

配置ODBC 666

ODBC的实现 666

ODBC SQL一致性层 666

连接到一个数据源 667

查询数据和数据源 669

准备与执行SQL请求 670

检索数据 671

断开与数据源的连接 672

使用ODBC获取数据 672

为Visual C++项目添加对ODBC的支持 673

修改ODBCDemo对话 674

添加初始化和数据库代码 675

使用ODBC动态查询数据源 681

CODBCDynamic类声明 682

CODBCDynamic类如何工作 683

使用CODBCDynamic类 690

小结 691

第27章 MFC数据库类 693

CDatabase类 694

CRecordset类 697

构造一个记录集 701

打开一个记录集 702

使用RFX(记录字段交换)读写数据 702

过渡记录 703

排序返回的记录集中的记录 706

在结果集合中移动 707

保存记录 707

删除记录 708

使用MFC数据库类 708

添加对MFC数据库类的支持 708

为演示程序创建UI 708

添加工具类以封装用户数据 710

为表UserMaster创建CRecordset类 710

修改对话的头文件 710

修改对话的实现文件 711

参数化记录集与查询 719

为演示程序创建UI 720

创建UserMaster记录集 721

修改CRecordset类以接受参数 721

为应用程序添加查找功能 722

建立应用程序 723

创建参数化查询 724

演示数据库 724

创建权限记录集 725

小结 729

第28章 DAO数据库编程 731

DAO的历史 732

DAO概览 732

DAO层次结构 733

DAO的多种内部形式 737

使用MFC DAO类 738

CDaoDatabase类 739

CDaoWorkspace类 741

CDaoRecordset类 742

MFC DAO演示程序 752

小结 764

第5部分:扩展应用程序 765

DLL概述 767

第29章 使用DLL 767

动态库和静态库 768

加载DLL 768

Visual C++常规DLL 769

了解常规DLL内部 770

动态加载DLL 772

何时动态加载DLL的例子 772

Windows异常分支 774

使用DLL的全局C++对象 780

MFC扩展DLL 788

理解MFC扩展DLL的内部 788

关于AFX_EXT_CLASS的更多内容 789

通过MFC扩展DLL导出类 789

使用嵌套的MFC扩展DLL 790

导出资源 790

编写在DLL中封装文档和视图的演示程序 791

小结 795

第30章 在程序中添加图形 797

第三方库 797

ImageObject库简介 800

PCX文件格式 802

JPEG文件格式 802

GIF文件格式 802

BMP文件格式 802

TGA文件格式 803

TIF文件格式 803

库加载图象 803

显示图象 804

Display程序 807

缩放、裁剪和改变颜色深度 810

从设备上下文中创建图象 812

从剪贴板创建图象 812

保存图象 813

图象处理 815

ProcessImage程序 818

小结 825

第6部分:组件对象模型编程 827

第31章 ActiveX和ActiveX控件设计介绍 829

理解ActiveX的起源和使用 829

理解各种ActiveX技术 831

理解自动化服务器 831

理解自动化控制器 831

定义ActiveX控件 832

理解组件对象(COM)模型对象 832

理解ActiveX容器 833

理解ActiveX文档 833

理解ActiveX能够为你做些什么 834

确定你需要哪种ActiveX组件 835

使用自动化服务器和控制器 835

使用ActiveX控件 836

使用COM对象 836

使用MFC来创建ActiveX组件 837

使用ActiveX模板库来创建ActiveX组件 838

使用BaseControl框架来创建ActiveX组件 838

创建你自己的框架 839

基本的ActiveX组件体系结构 839

ActiveX自动化服务器 840

ActiveX控件 841

建立ActiveX组件需要的支持工具 842

MIDL编译器 842

Mktyplib 842

GUIDGEN 842

RegEdit 843

注册服务器 843

Ole2View 843

把工具添加到Visual C++开发环境中 843

创建基本的控件项目 844

用MFC创建一个基本ActiveX控件 844

控件注册 847

创建方法 848

属性 854

创建属性页 859

添加事件 863

持久性 864

绘制控件 866

标准绘制 866

小结 869

创建基本项目 871

第32章 用MFC创建ActiveX自动化服务器 871

给应用程序添加一个自动化接口 873

注册服务器 876

为范例服务器编写支持代码 878

添加方法 881

给服务器添加属性 885

产生OLE异常 887

理解双接口服务器 893

产生双接口OLE异常 901

用C++进行服务器实例化 906

用C++实例化OLE服务器时常见的问题 907

创建可共享的服务器 908

单一实例服务器 911

小结 912

第33章 活动模板库 913

ATL概述 913

创建ATL控件 914

把一个COM对象添加到项目中 916

修改CDoublePend包含文件 917

实现接口函数 918

在C++中使用控件 922

数据类型 925

转换HSTR 925

在调试器中查看一个BSTR的内容 926

比较BSTR 926

在Web页中嵌入ActiveX控件 927

小结 927

第7部分:因特网和HTML编程 929

第34章 因特网编程 931

CInternetScssion类 931

CFtpConnection类 933

从FTP服务器中检索文件 936

把文件发送给FTP服务器 939

其他FTP函数 939

CInternetFile类 941

CFtpFileFind类 942

FTP程序 942

套接字和CSocket类 950

创建套接字 951

连接到套接字 952

监听一个连接 954

读数据和写数据 954

Sockets程序 956

SendEmail程序 962

检索HTTP文件 967

AutoDialer程序 968

小结 971

第35章 CHtmlView类 973

创建一个CHtmlView项目 974

把项目转换为使用CHtmlView 975

导航CHtmlView 976

SimpleBrowser程序 977

MultiBrowser程序 980

直接使用Web浏览器控件 984

编写一个记录导航日志的浏览器 986

编写一个阻挡站点的浏览器 987

小结 988

第36章 动态HTML 989

HTML基础 990

层叠式风格单 993

全局风格单 995

风格单语法 996

简单的文件查看器 997

事件和对象模型 998

脚本 1000

脚本元素 1001

改变非文本元素 1005

在文档加载时运行脚本 1006

脚本对话 1010

小结 1012

第8部分:Visual Studio的高级用法 1013

第37章 Visual Studio脚本编制 1015

Visual Studio宏 1015

Quick Macro 1016

创建VBScript宏 1017

理解VBScript宏 1019

编辑VBScript宏 1020

创建一个空宏 1021

使用VBScript宏 1022

加载宏文件 1023

把宏分配给工具栏 1024

运行VBScript宏 1024

把宏分配给按键 1025

理解VBScript 1026

使用Developer Studio对象模型 1026

VBScript编程 1027

使用变量 1027

使用常量 1027

使用函数和过程 1028

访问该对象模型 1028

使用Application对象 1029

运行范例宏 1033

使用范例应用程序 1033

理解范例宏 1034

小结 1041

第38章 编写自定义AppWizard 1043

AppWizard的内部工作 1044

AppWizard管理器 1044

CCustomAppWiz类和Dictionary(字典) 1045

创建一个自定义AppWizard 1048

预置项目的默认设置的演示程序 1049

创建SDIAutcmationWiz演示项目 1049

定义CCustomAppWiz类 1049

使用宏字典 1051

一个更高级的自定义AppWizard 1052

添加一个自定义对话 1052

创建你自己的模板 1054

更改newproj.inf文件 1056

更改ClassWizard文件 1058

更改AppWizard模板 1059

更改CONFIRM.INF文件 1062

为永久性的宏使用注册表 1063

更改CAboutWizAppWiz类以使用注册表 1064

小结 1067

附录 光盘内容 1069

相关图书
作者其它书籍
返回顶部