《普通高校本科计算机专业特色教材精选 算法与程序设计 MFC Windows应用程序设计 第3版》PDF下载

  • 购买积分:14 如何计算积分?
  • 作  者:任哲等编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302312734
  • 页数:427 页
图书介绍:本书是《MFC Windows应用程序设计(第3版)》的配套教材。书中对主教材中各章的习题都做了详细的解答并提供了一些上机实验的题目,力图通过这些练习和训练使读者能较好地理解和掌握MFC Windows应用程序框架及使用MFC类库编程的基本方法。在书后的附录Visual C++6.0集成开发工具介绍部分,简明扼要地介绍了创建应用程序框架的方法及使用调试开发工具的方法,为读者快速地使用该开发工具提供了帮助。

第1章 Windows程序基础 1

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

1.1.1一般概念 1

1.1.2 Windows内核、API和开发工具 7

1.2 Windows的数据类型 8

1.2.1 Windows的一个特殊数据类型——句柄 9

1.2.2窗口类WNDCLASS 13

1.2.3 Windows函数的调用说明 14

1.3窗口的创建和显示 15

1.4事件、消息循环和窗口函数 18

1.5 Windows应用程序的结构 20

1.5.1主函数 20

1.5.2窗口函数 22

1.5.3 Windows系统、主函数、窗口函数之间的关系 23

1.6 Windows程序代码重构 30

1.6.1用函数封装消息处理代码 30

1.6.2消息映射表 34

练习题 38

思考题 38

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

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

2.1.1窗口类的声明 40

2.1.2应用程序类的声明 41

2.1.3主函数封装后的程序 42

2.2派生类的应用 46

2.2.1应用程序类的派生类 47

2.2.2窗口类的派生类 49

2.3窗口函数的封装——消息映射 53

2.3.1消息处理函数的简单封装 54

2.3.2消息映射 56

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

小结 62

练习题 62

思考题 63

第3章 MFC应用程序框架 65

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

3.1.1早期的应用程序框架 65

3.1.2 MFC的窗口类 66

3.1.3 CWinApp类 67

3.2最简单的MFC程序实例 68

3.2.1程序的编写 68

3.2.2程序主函数的代码 70

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

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

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

3.4文档类CDocument的派生类 74

3.5视图类CView的派生类 75

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

3.7文档模板类CDocTemplate 78

3.8应用程序类的派生类 79

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

3.8.2程序员的主要工作 80

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

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

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

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

3.10对象的动态创建 85

3.10.1问题的提出与解决 85

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

3.10.3对象类信息表的提取 91

小结 92

练习题 92

思考题 92

第4章 图形 93

4.1 DC和GDI 93

4.1.1设备描述环境 93

4.1.2 Windows的GDI 94

4.2 CDC类 94

4.3 CPen类 96

4.4 CBrush类 99

4.5绘图模式 101

4.6文本和CFont类 102

4.6.1显示文本 102

4.6.2字体和CFont类 105

4.7 CDC的其他派生类 107

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

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

小结 110

练习题 110

思考题 110

第5章 MFC的通用类 111

5.1简单数据类 111

5.1.1点类CPoint 111

5.1.2矩形类CRect 112

5.1.3尺寸类CSize 112

5.1.4字符串类CString 113

5.2群体数据类 114

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

小结 118

练习题 118

思考题 118

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

6.1 SDI和MDI界面 119

6.2 SDI界面窗口的样式 120

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

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

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

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

6.3.1拆分窗口的同步更新 126

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

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

小结 135

练习题 135

思考题 136

第7章 鼠标和键盘 137

7.1处理鼠标消息 137

7.1.1用户区鼠标消息 138

7.1.2非用户区鼠标消息 142

7.1.3鼠标消息的捕获 143

7.2处理键盘消息 144

7.2.1按键的虚拟码 144

7.2.2一般按键消息 147

7.2.3系统按键消息 148

7.3应用程序窗口的焦点 149

小结 150

练习题 151

思考题 152

第8章 资源 153

8.1资源和资源文件 153

8.1.1什么是资源 153

8.1.2资源头文件 154

8.1.3资源描述文件 155

8.2菜单 155

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

8.2.2编辑现有的菜单 157

8.2.3自定义菜单 160

8.2.4用菜单编辑器编辑菜单 162

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

8.3快捷键表 165

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

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

8.4图标 166

8.4.1制作图标 166

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

8.5位图 168

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

8.5.2位图资源的使用 168

小结 171

练习题 172

思考题 172

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

9.1 CFile类 173

9.1.1 CFile类常用成员函数 173

9.1.2文件的创建与打开 173

9.1.3文件的读写 175

9.1.4 CFile的派生类CMemFile 179

9.1.5 CFileFind类 180

9.2 CArchive类 181

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

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

9.3对象的序列化 184

9.3.1序列化的基本概念 184

9.3.2 MFC的Serialize函数 185

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

9.3.4序列化的顺序 188

9.4宏DECLARE_SERIAL和IMPLEMENT_SERIAL 191

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

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

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

小结 197

练习题 197

思考题 197

第10章 控件 199

10.1标准控件及其使用 199

10.1.1标准控件 200

10.1.2静态文本控件 200

10.1.3按钮控件 202

10.1.4编辑控件 206

10.2通用控件 208

10.2.1进度条控件 208

10.2.2微调器控件 209

10.2.3图像列表控件 213

10.2.4列表视图控件 214

10.3控件的背景颜色 223

小结 224

练习题 225

第11章 对话框 227

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

11.2自定义对话框类 230

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

11.2.2模态对话框 231

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

11.3.1数据交换 235

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

11.3.3数据检验 239

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

11.4.1应用程序框架的设计 240

11.4.2应用程序代码的设计 240

11.5 MFC预置的通用对话框 242

11.5.1文件对话框 242

11.5.2字体选择对话框 244

11.6非模态对话框 247

11.7属性页 249

小结 252

练习题 253

思考题 253

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

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

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

12.1.2进程和线程的优先级 255

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

12.2.1工作线程的创建 257

12.2.2用户界面线程的创建 258

12.3线程同步 260

12.3.1线程同步的基本概念 260

12.3.2事件 261

12.3.3临界段 265

12.3.4互斥体 267

12.3.5信号量 268

12.4线程通信 270

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

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

小结 273

练习题 274

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

13.1链接库 275

13.1.1静态链接库 275

13.1.2动态链接库 277

13.2动态链接库的创建 279

13.2.1导出函数的声明 279

13.2.2用MFC编写DLL 282

13.3动态链接库的使用 285

13.3.1隐式链接方式 285

13.3.2显式链接方式 286

小结 287

练习题 288

思考题 288

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

14.1组件对象模型概述 289

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

14.1.2组件对象模型 297

14.1.3 COM术语 297

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

14.3 COM规定的标准服务 299

14.3.1接口IUnknown 299

14.3.2接口IClassFactory和IDispatch 303

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

14.5使用ATL设计组件 305

14.5.1 ATL对COM的支持 305

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

14.5.3浏览ATL生成的代码 309

14.6组件的包含与聚合 312

14.6.1包含 312

14.6.2聚合 313

小结 313

练习题 314

思考题 314

第15章 ActiveX应用基础 315

15.1 ActiveX技术概述 315

15.1.1 ActiveX的前身——OLE 315

15.1.2 ActiveX技术的缘起 317

15.1.3 ActiveX自动化 317

15.1.4 ActiveX控件 318

15.1.5 ActiveX文档 319

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

15.2用MFC设计ActiveX容器 320

15.2.1 ActiveX容器的结构 320

15.2.2用MFC设计ActiveX容器 320

15.3用MFC设计ActiveX服务器 323

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

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

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

15.5用MFC设计ActiveX控件 329

小结 332

练习题 333

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

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

16.1.1数据库系统 335

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

16.2 ODBC的基本构成 336

16.3配置ODBC数据源 337

16.3.1 ODBC管理器 338

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

16.4 MFC的ODBC类 340

16.4.1 CDatabase类 341

16.4.2 CRecordset类 342

16.4.3 CDBException类 346

16.5 ODBC应用程序实例 347

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

16.5.2连接两个表 352

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

16.6.1 DAO简介 353

16.6.2 DAO和MFC 353

16.6.3使用MFC DAO类编程 354

小结 355

练习题 355

第17章 异常和异常处理 357

17.1异常处理的基本思想 357

17.2异常对象 360

17.3 MFC的异常类 362

17.3.1 CException类 362

17.3.2 CException类的子类 362

小结 363

练习题 364

第18章 Visual C+.NET简介 365

18.1.NET及.NET Framework 365

18.1.1 .NET的出现 365

18.1.2 .NET概览 367

18.1.3开发语言和开发工具 370

18.1.4托管和非托管代码 370

18.2 Visual C++与.NET 372

18.2.1符合标准的C+++ 372

18.2.2 .NET中开发MFC程序 377

18.2.3 C+++/CLI的出现 379

18.3 C++/CLI语言简介 379

18.3.1 C+++/CLI的控制台输出和输入 380

18.3.2类的引用类型和值类型 381

18.3.3接口 382

18.3.4抽象类和封闭类 384

18.3.5属性 384

18.3.6委托 388

18.3.7事件 389

18.3.8 System::Object 393

18.3.9装箱和拆箱 394

18.4 Visual C++的Windows窗体应用程序 394

练习题 396

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

A.1简单数据类型 397

A.2结构数据类型 399

A.3句柄 399

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

附录C MFC的消息映射 403

C.1三类消息 403

C.2消息映射表项结构AFX_MSGMAP_ENTRY 403

C.3在类声明文件中声明消息映射 404

C.4在类实现文件中实现消息映射 405

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

D.1文档类与其他类对象之间的配合 409

D.2资源中与文档模板类型有关的字符串 411

D.3文档类CDocument的代码 411

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

E.1创建工程 415

E.2使默认文档模板成为TXT文档模板 415

E.3添加位图文档模板 418

附录F 类信息表与CObject类 421

F.1类信息表 421

F.2 CObject类对RTTI的支持 422

F.3 CObject对文档序列化的支持 422

F.4 CObject对提供程序调试诊断信息的支持 423

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

参考文献 427