图书目录

第1章 Windows应用程序基础知识 1

1.1 Windows应用程序的基本概念1

1.1.1 Windows应用程序的界面1

1.1.2 Windows应用程序与API函数1

1.1.3 Windows的一个特殊数据类型--句柄2

1.1.4 Windows应用程序的数据类型3

1.1.5 消息与消息循环4

1.2 Windows应用程序的结构6

1.2.1 主函数6

1.2.2 消息的处理部分--窗口函数8

1.2.3 Windows系统、主函数、窗口函数之间的关系9

1.3 用函数封装Windows程序15

1.4 窗口函数的另一种结构19

小结22

练习题22

思考题23

第2章 Windows应用程序的类封装25

2.1 应用程序主函数的C++类封装25

2.1.1 窗口类的声明26

2.1.2 应用程序类的声明27

2.1.3 主函数封装后的程序28

2.2 派生类的应用32

2.2.1 应用程序类的派生类33

2.2.2 窗口类的派生类35

2.3 窗口函数的封装--消息映射39

2.3.1 消息处理函数的简单封装40    2.3.2 消息映射42

2.3.3 消息映射表的声明和实现45

小结48

练习题48

思考题49

 MFC Windows应用程序设计(第2版)目录 第3章 MFC应用程序框架51

3.1 早期的应用程序框架及其MFC类51

3.1.1 早期的应用程序框架51

3.1.2 MFC的窗口类52

3.1.3 CWinApp类53

3.2 最简单的MFC程序实例54

3.2.1 程序的编写54

3.2.2 程序主函数的代码56

3.3 应用程序的文档/视图结构57

3.3.1 文档/视图结构的基本概念57

3.3.2 单文档界面和多文档界面结构59

3.4 文档类CDocument的派生类60

3.5 视图类CView的派生类61

3.6 窗口框架类CFrameWnd的派生类62

3.7 文档模板类CDocTemplate 64

3.8 应用程序类的派生类65

3.8.1 应用程序类派生类的代码65

3.8.2 程序员的主要工作66

3.9 MFC文档/视图应用程序框架中各个对象的关系67

3.9.1 应用程序各对象创建的顺序67

3.9.2 应用程序各对象之间的联系68

3.9.3 文档/视图应用程序消息的传递71

3.10 对象的动态创建71

3.10.1 问题的提出与解决71

3.10.2 类信息表及其声明和实现76

3.10.3 对象类信息表的提取77

小结78

练习题78

思考题78

第4章 图形79

4.1 DC和GDI79

4.1.1 设备描述环境79

4.1.2 Windows的GDI80

4.2 CDC类80

4.3 CPen类82

4.4 CBrush类85

4.5 绘图模式87

4.6 文本和CFont类88

4.6.1 显示文本88

4.6.2 字体和CFont类91

4.7 CDC的其他派生类93

4.7.1 窗口用户区设备描述环境CClientDC类93

4.7.2 图元文件设备描述环境CMetaFileDC类94

小结96

练习题96

思考题96

第5章 MFC的通用类97

5.1 简单数据类97

5.1.1 点类CPoint97

5.1.2 矩形类CRect98

5.1.3 尺寸类CSize98

5.1.4 字符串类CString99

5.2 群体数据类100

5.3 数据在文档/视图结构程序中的位置102

小结104

练习题104

思考题104

第6章 Windows应用程序界面的设计105

6.1 SDI和MDI界面105

6.2 SDI界面窗口的样式106

6.2.1 在MFC AppWizard中确定窗口样式106

6.2.2 在函数PreCreateWindow中修改窗口的样式107

6.2.3 可拆分为小窗口的SDI界面111

6.3 拆分窗口的同步更新及更新效率112

6.3.1 拆分窗口的同步更新112

6.3.2 提高拆分窗口更新效率的方法112

6.4 创建带有滚动条的窗口117

小结121

练习题121

思考题122

第7章 鼠标和键盘123

7.1 处理鼠标消息123

7.1.1 用户区鼠标消息124

7.1.2 非用户区鼠标消息128

7.1.3 鼠标消息的捕获129

7.2 处理键盘消息130

7.2.1 按键的虚拟码130

7.2.2 一般按键消息133

7.2.3 系统按键消息134

7.3 应用程序窗口的焦点135

小结136

练习题 137

思考题138

第8章 资源139

8.1 资源和资源文件139

8.1.1 什么是资源139

8.1.2 资源头文件140

8.1.3 资源描述文件141

8.2 菜单141

8.2.1 资源描述文件的菜单部分141

8.2.2 编辑现有的菜单143

8.2.3 自定义菜单146

8.2.4 用菜单编辑器编辑菜单148

8.2.5 菜单命令选项的动态修改148

8.3 快捷键表151

8.3.1 资源描述文件的快捷键表部分151

8.3.2 使用快捷键编辑器编辑快捷键表152

8.4 图标152

8.4.1 制作图标152

8.4.2 资源描述文件的图标部分153

8.5 位图154

8.5.1 资源描述文件的位图部分154

8.5.2 位图资源的使用154

小结157

练习题158

思考题158

第9章 MFC的文件处理机制159

9.1 CFile类159

9.1.1 CFile类常用成员函数159

9.1.2 文件的创建与打开159

9.1.3 文件的读写161

9.1.4 CFile的派生类CMemFile165

9.1.5 CFileFind类166

9.2 CArchive类167

9.2.1 插入符和提取符的重载167

9.2.2 CArchive类对象与CFile类对象的关联168

9.3 对象的序列化170

9.3.1 序列化的基本概念170

9.3.2 MFC的Serialize函数171

9.3.3 MFC应用程序的序列化过程173

9.3.4 序列化的顺序174

9.4 宏DECLARE_SERIAL和IMPLEMENT_SERIAL177

9.5 MFC文件命令的默认处理流程182

9.5.1 应用程序启动后文档的初始化流程182

9.5.2 应用程序菜单命令的默认处理182

小结183

练习题183

思考题183

第10章 控件185

10.1 标准控件及其使用185

10.1.1 标准控件186

10.1.2 静态文本控件186

10.1.3 按钮控件188

10.1.4 编辑控件192

10.2 通用控件194

10.2.1 进度条控件194

10.2.2 微调器控件195

10.2.3 图像列表控件199

10.2.4 列表视图控件200

10.3 控件的背景颜色208

小结210

练习题211

第11章 对话框213

11.1 对话框模板资源描述文件213

11.2 自定义对话框类215

11.2.1 MFC的对话框类及用户自定义对话框类216

11.2.2 模态对话框217

11.3 对话框的数据交换和数据检验221

11.3.1 数据交换221

11.3.2 使用Class Wizard为对话框添加成员变量223

11.3.3 数据检验225

11.4 以对话框为主界面的应用程序225

11.4.1 应用程序框架的设计226

11.4.2 应用程序代码的设计226

11.5 MFC预置的通用对话框228

11.5.1 文件对话框228

11.5.2 字体选择对话框230

11.6 非模态对话框233

11.7 属性页235

小结238

练习题239

思考题239

第12章 进程与线程的管理241

12.1 进程、线程及其优先权241

12.1.1 进程、线程的基本概念241

12.1.2 进程和线程的优先级241

12.2 工作线程和用户界面线程243

12.2.1 工作线程的创建243

12.2.2 用户界面线程的创建244

12.3 线程同步246

12.3.1 线程同步的基本概念246

12.3.2 事件247

12.3.3 临界段251

12.3.4 互斥体253

12.3.5 信号量254

12.4 线程通信256

12.4.1 利用全局变量进行通信257

12.4.2 利用自定义的消息进行通信258

小结259

练习题 260

第13章 动态链接库及其使用261

13.1 链接库261

13.1.1 静态链接库261

13.1.2 动态链接库263

13.2 动态链接库的创建265

13.2.1 导出函数的声明265

13.2.2 用MFC编写DLL268

13.3 动态链接库的使用271

13.3.1 隐式链接方式271

13.3.2 显式链接方式272

小结273

练习题274

思考题274

第14章 组件对象模型基础275

14.1 组件对象模型概述275

14.1.1 软件模块化的发展历程275

14.1.2 组件对象模型283

14.1.3 COM术语283

14.2 组件类、接口的标识及注册284

14.3 COM规定的标准服务285

14.3.1 接口IUnknown 285

14.3.2 接口IClassFactory和IDispatch289

14.4 COM接口的二进制标准及IDL语言291

14.5 使用ATL设计组件291

14.5.1 ATL对COM的支持291

14.5.2 使用ATL设计组件的步骤和方法292

14.5.3 浏览ATL生成的代码295

14.6 组件的包含与聚合298

14.6.1 包含298

14.6.2 聚合299

小结299

练习题300

思考题300

第15章 ActiveX应用基础301

15.1 ActiveX技术概述301

15.1.1 ActiveX的前身--OLE301

15.1.2 ActiveX技术的缘起303

15.1.3 ActiveX自动化303

15.1.4 ActiveX控件304

15.1.5 ActiveX文档305

15.1.6 ActiveX文档与ActiveX控件的区别305

15.2 用MFC设计ActiveX容器306

15.2.1 ActiveX容器的结构306

15.2.2 用MFC设计ActiveX容器306

15.3 用MFC设计ActiveX服务器309

15.4 用MFC设计ActiveX自动化应用程序310

15.4.1 用MFC设计ActiveX自动化服务器310

15.4.2 用MFC设计ActiveX自动化客户313

15.5 用MFC设计ActiveX控件315

小结318

练习题319

第16章 用MFC设计数据库应用程序321

16.1 数据库系统及数据库应用程序321

16.1.1 数据库系统321

16.1.2 数据库应用系统的设计322

16.2 ODBC的基本构成322

16.3 配置ODBC数据源323

16.3.1 ODBC管理器324

16.3.2 配置ODBC数据源的方法和步骤324

16.4 MFC的ODBC类326

16.4.1 CDatabase类327

16.4.2 CRecordset类328

16.4.3 CDBException类332

16.5 ODBC应用程序实例333

16.5.1 显示和处理表中的数据333

16.5.2 连接两个表338

16.6 使用DAO设计数据库应用程序简介339

16.6.1 DAO简介339

16.6.2 DAO和MFC339

16.6.3 使用MFC DAO类编程340

小结341

练习题341

第17章 异常和异常处理343

17.1 异常处理的基本思想343

17.2 异常对象346

17.3 MFC的异常类348

17.3.1 CException类348

17.3.2 CException类的子类348

小结349

练习题350

附录A 数据类型与Windows句柄351

附录B 标识符的匈牙利记法355

附录C MFC的消息映射357

附录D 文档/视图框架的补充内容363

附录E 多文档/视图框架的一个实例369

附录F 类信息表与CObject类375

附录G Visual C++中文件类型小结379

参考文献381

                ⅩVII    ⅩVIII    ⅩⅨ 现代微型计算机与接口教程(第2版)目录 第3章 微型计算机输入输出接口

3.1 输入输出接口

3.1.1 外部设备及其信号

3.1.2 I/O接口的功能

3.1.3 I/O端口的编址方法

3.1.4 简单I/O接口的组成

3.2 输入输出数据传输的控制方式

3.2.1 程序方式

3.2.2 中断方式

3.2.3 直接存储器存取方式

3.3 开关量输入输出接口

3.3.1 开关量输入接口

3.3.2 开关量输出接口

习题3

第4章 微型计算机的中断系统

4.1 中断原理

4.1.1 中断的基本概念

4.1.2 中断工作方式的特点

4.1.3 中断管理

4.1.4 中断过程

4.2 8086 CPU中断系统

4.2.1 8086的中断类型

4.2.2 8086的中断向量表

4.2.3 8086对外部中断的响应

4.3 可编程中断控制器8259A

4.3.1 8259A的基本功能

4.3.2 8259A引脚及内部结构

4.3.3 8259A的工作方式

4.3.4 8259A的编程

4.4 中断方式输入输出

4.4.1 中断方式I/O接口

4.4.2 中断方式输入输出程序设计

4.4.3 中断方式应用

习题4

第5章 可编程接口芯片

5.1 可编程并行接口8255A

5.1.1 8255A的内部结构与外部引脚

5.1.2 8255A的控制字

5.1.3 8255A的工作方式

5.1.4 8255A的应用

5.2 可编程计时器/计数器8254

5.2.1 8254的内部结构与外部引脚

5.2.2 8254的工作方式

5.2.3 8254的控制字与初始化

5.2.4 8254的应用

5.3 串行通信的基本概念

5.3.1 串行数据通信

5.3.2 串行通信的方式

5.3.3 串行通信接口

5.3.4 RS-232-C标准

5.4 可编程串行通信接口16550

5.4.1 16550的内部组成与外部引脚

5.4.2 16550的内部寄存器

5.4.3 串行通信接口16550的应用

5.5 可编程串行通信接口8251A

5.5.1 8251A的外部引脚

5.5.2 8251A的内部寄存器

5.5.3 8251A的编程

习题5

第6章 DMA传输

6.1 DMA传输原理

6.2 DMA控制器8237A

6.2.1 8237A的基本功能

6.2.2 8237A的内部结构和外部连接

6.2.3 8237A的对外连接信号

6.2.4 8237A的工作时序

6.3 8237A的编程使用

6.3.1 8237A通道专用寄存器

6.3.2 8237A通道公用寄存器

6.3.3 8237A端口地址及通道分配

6.3.4 8237A的编程

习题6

第7章 数模转换与模数转换

7.1 数模转换

7.1.1 数模转换原理

7.1.2 数模转换芯片--DAC0832

7.2 模数转换

7.2.1 信号变换中的采样、量化和编码

7.2.2 模数转换原理

7.2.3 模数转换器的主要技术指标

7.3 典型模数转换器芯片

7.3.1 ADC0809 

7.3.2 AD574A

7.4 数据采集系统

7.4.1 工控PC简介

7.4.2 PCL818多功能接口卡简介

7.4.3 软件设计

习题7

第8章 现代微型计算机

8.1 80x86系列微处理器

8.1.1 16位80x86微处理器

8.1.2 32位80x86微处理器

8.1.3 Pentium系列微处理器

8.1.4 32位微处理器的寄存器

8.1.5 32位微处理器的工作方式

8.1.6 64位微处理器

8.2 微型计算机体系结构

8.2.1 80x86微型计算机结构

8.2.2 Pentium系列微型计算机结构

8.2.3 Intel系列芯片组

8.3 存储管理技术

8.3.1 高速缓存技术

8.3.2 虚拟存储技术

8.4 多任务管理与I/O管理

8.4.1 多任务管理

8.4.2 I/O管理

8.5 现代微型计算机中断系统

8.5.1 保护方式下的中断管理

8.5.2 I/O控制中心的中断管理功能

8.5.3 APIC中断

习题8

第9章 PC系列微型计算机外部设备接口

9.1 键盘、鼠标与打印机接口

9.1.1 键盘

9.1.2 鼠标

9.1.3 打印机接口

9.2 软盘和硬盘驱动器接口

9.2.1 软盘驱动器和接口标准

9.2.2 硬盘驱动器和接口标准

9.2.3 现代硬盘接口技术

9.3 显示器和显示接口

9.3.1 显示器

9.3.2 显示器接口

9.3.3 显示接口组成

9.3.4 显卡总线类型

9.4 声卡及其接口

9.5 1394接口

9.5.1 IEEE 1394总线的特点

9.5.2 IEEE 1394总线工作方式

9.5.3 IEEE 1394接口类型

9.5.4 IEEE 1394接口与USB接口比较

习题9

第10章 微型计算机总线

10.1 总线技术概述

10.1.1 总线的标准

10.1.2 总线的指标

10.1.3 总线的分类

10.1.4 总线的数据传输

10.2 ISA总线

10.2.1 ISA总线的信号

10.2.2 ISA总线扩展卡

10.3 PCI总线与PCI-Express总线

10.3.1 PCI的特点

10.3.2 PCI总线系统结构

10.3.3 PCI总线信号

10.3.4 PCI总线周期和地址空间

10.3.5 PCI配置空间

10.3.6 PCI总线设备开发及S5933

10.3.7 PCI-Express总线

10.4 USB总线

10.4.1 概述

10.4.2 USB 总线的构成

10.4.3 USB事务与USB帧

10.4.4 批量传输、中断传输和实时传输

10.4.5 控制传输

10.4.6 USB设备的检测和配置

10.4.7 USB控制器

习题10

第11章 Windows环境下输入输出程序设计

11.1 Windows设备驱动程序

11.1.1 虚拟设备

11.1.2 Windows 9x设备驱动程序

11.1.3 Windows 2000设备驱动程序

11.2 WDM驱动程序

11.2.1 WDM驱动程序模型和层次结构

11.2.2 WDM驱动程序开发工具

11.2.3 DriverStudio中的WDM驱动程序结构

11.3 Windows 2000和Windows XP环境下输入输出的实现

11.3.1 用于输入输出的Win32 API函数

11.3.2 Windows 2000和Windows XP环境下输入输出举例

习题11附录A 标准ASCII码字符表

附录B 80x86指令系统

附录C DOS功能调用

附录D BIOS功能调用

参考文献