《掌握Visual C++-MFC程序设计与剖析》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:胡哲源编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2001
  • ISBN:7900635238
  • 页数:478 页
图书介绍:

第1章 Visual C++的集成开发环境 1

1.1 Visual C++的外观 2

1.1.1 项目工作区 2

1.1.2 输出区 3

1.1.3 程序与资源编辑区 3

1.1.4 调试时可查看的窗口 3

1.2 如何通过Application Wizard生成一个新的项目 3

1.3 执行项目 7

1.4 这个新项目产生了什么文件 9

1.5 资源的编辑 10

1.6 菜单与选项的编辑 11

1.7 对话框的编辑 13

1.8 工具栏的编辑 14

1.9 鼠标指针的编辑 15

1.10 图标的编辑 16

1.11 加速键的编辑 17

1.12 字符串表的编辑 18

1.13 查看Source Symbol与ID数值的更改 19

1.14 Class Wizard 20

1.14.1 成员函数的拦截 20

1.14.2 消息映射与消息响应函数 22

1.14.3 另一个设置消息映射的方法 22

1.14.4 在Class Wizard设置用户界面的消息映射 23

1.14.5 ID映射的成员变量 24

1.15 Visual C++的调试功能 25

1.15.1 Debug时可查看的窗口 25

1.15.2 程序变量窗口 25

1.15.3 监视窗口 26

1.15.4 函数调用难栈窗口 26

1.15.5 内存窗口 27

1.16 进入调试模式 28

1.15.7 Disassembly窗口 28

1.15.6 寄存器窗口 28

1.16.1 设置断点 29

1.16.2 单步执行 29

1.16.3 TRACE宏 31

1.16.4 ASSERT宏 32

1.16.5 DataTips弹出消息 33

1.16.6 调试时的画面 33

1.17 Visual C++的在线帮助说明 33

第2章 复习C++语言 35

2.1 面向对象 36

2.2 类与对象 36

2.3 封装与继承 38

2.3.1 成员的权限属性 39

2.3.2 继承时成员名称冲突 41

2.4 Visual C++的Win32 Console Application 42

2.5 友函数与友类 44

2.6 this关键字 46

2.7 类型转换 47

2.8 虚拟函数、动态链接与多态 49

2.9 虚拟函数表 51

2.10 多重继承与虚拟基础类 52

2.10.1 多重继承的第1个问题 53

2.10.2 多重继承的第2个问题 55

2.11 父类化与对象转换 58

2.12 函数名称重载与运算符重载 59

2.13 构造函数与析构函数 62

2.14 动态内存配置——new与delete 65

2.15 宏与内联函数 66

2.16 异常处理 68

2.17 模板 70

2.17.1 Function模板 70

2.17.2 Class模板 71

第3章 MFC Application Wizard生成的程序框架剖析 73

3.1 程序的进入点 74

3.2 生成一个ExTrace工程 76

3.3 剖析ExTrace工程各个函数的执行顺序 87

3.3.1 OnIdle函数 90

3.3.2 框架函数的层次关系 91

3.3.3 InitInstance函数 92

3.3.4 Run函数 93

3.3.5 ProcessShellCommand函数 93

3.3.6 关闭窗口 97

3.4 文档模板 98

3.5 DECLARE_DYNCREATE与IMPLEMENT_DYNCREATE宏 100

3.6 RUNTIME CLASS模板 102

3.7 DECLARE_SERIAL与IMPLEMENT_SERIAL宏 104

3.8.1 获得四大对象的指针 107

3.8 框架四大对象之间的关系 107

3.8.2 可获得有效Frame对象指针的时机 109

3.8.3 可获得有效View对象指针的时机 110

3.8.4 可获得有效Doc对象指针的时机 111

3.9 消息映射 112

第4章 菜单 119

4.1 系统菜单与标题 120

4.2 下拉式菜单 122

4.2.1 菜单的生成 123

4.2.2 CMenu类 125

4.3 弹出式菜单 128

4.4 范例:ExMenu 128

4.4.1 窗口外框与系统菜单 129

4.4.2 菜单 132

4.4.3 弹出式菜单 134

4.4.4 我的菜单 135

4.4.5 附加/取消“新加的菜单” 136

4.4.6 添加/取消选项三 138

4.4.7 默认菜单 138

第5章 状态栏与工具栏 141

5.1 类继承层次 142

5.2 状态栏的生成与更新 142

5.2.1 CStatusBar类与状态栏对象指针的获得 144

5.2.2 工具栏 146

5.2.3 CToolBar类 147

5.3 范例:ExBars 151

5.3.1 菜单、状态栏与工具栏 151

5.3.2 状态栏上的时钟与OnIdle函数 153

5.3.3 “默认工具栏”与“自定工具栏”的生成 156

5.3.4 弹出式工具栏”的生成 158

5.3.5 弹出式工具栏”的消失 160

5.3.6 菜单上的工具栏控制 162

第6章 鼠标、键盘与窗口外框 165

6.1 鼠标的按钮与移动 166

6.2 鼠标指针 168

6.3 键盘 169

6.4 窗口外框 171

6.4.1 窗口外框大小 172

6.4.2 客户区的大小 173

6.4.3 动态分割窗口 176

6.4.4 静态分割窗口 177

6.5 范例:ExDynamicwin 178

6.6 范例:ExStaticWin 181

6.6.1 两个静态分割窗口 181

6.6.2 三个静态分割窗口 182

6.6.3 冻结静态分割窗口分割线 184

6.6.4 鼠标的移动 186

6.6.5 鼠标指针 188

6.6.6 鼠标按钮与键盘 189

6.6.7 鼠标Capture 192

6.6.8 总结 193

第7章 对话框 195

7.1 对话框的类继承层次 196

7.2 对话框的生成 196

7.3 对话框的数据存取 196

7.4 对话框控件 197

7.5 特殊的对话框 216

7.6 对话框与其控件的颜色 222

7.7 UpdateData与DDX、DDV机制 224

7.8 范例:ExModal 225

7.9 范例:ExModeless 232

第8章 FormView视图与对话框控件的应用 235

8.1 范例:ExDialogs 236

8.1.1 窗口外框与对话栏 238

8.1.2 IDD_EXDIALOGS_FORM对话框 240

8.1.3 初始控件 242

8.1.4 IDD_FLASHVIEW对话框 251

8.1.5 对话栏的按键 253

8.1.6 在客户区切换显示的对话框 254

8.1.7 多属性页的属性单 255

8.1.8 对话框之间的数据交换 257

8.1.9 多属性页的显示位置 260

8.1.10 多属性页对话框的按钮位置 261

8.2 Dialog based应用程序 261

8.3 范例:ExDlgBased 262

第9章 绘图 269

9.1 MFC的绘图原理 270

9.2 GDI类 270

9.2.1 画笔类 271

9.2.2 画刷类 272

9.2.3 位图类 272

9.3.1 CPaintDC类 273

9.3 DC的类 273

9.2.4 字型类 273

9.3.2 CClientDC类 274

9.3.3 CWindowDC类 274

9.3.4 CMetaFileDC类 274

9.4 CDC类基本的绘图函数 275

9.4.1 CDC类其他重要的函数 279

9.4.2 其他有关的函数 280

9.5 映射模式 281

9.6 颜色 282

9.6.1 屏幕显示的原理 282

9.6.2 Windows系统的颜色定义 283

9.6.3 位图的颜色定义 283

9.6 .4 调色板的颜色 284

9.7 位图 285

9.7.1 BITMAPFILEHEADER 285

9.7.2 BITMAPINFOHEADER 286

9.7.3 RGBQUAD[] 287

9.7.4 图像 287

9.7.5 位图 287

9.8 MFC的客户区绘图机制 288

9.9 范例:ExDraw 289

9.9.1 窗口外框与客户区尺寸设置 290

9.9.2 绘图时的闪烁现象 291

9.9.3 本范例解决闪烁现象的构想 292

9.9.4 数据初始化 292

9.9.5 画图 296

9.9.6 Ball的移动与球的碰撞 299

9.9.7 Sphere的移动 302

9.9.8 对话栏 303

第10章 文件读写 307

10.1 Stream I/O 308

10.3 Collection类 309

10.2 串行化机制 309

10.4 MFC程序框架的文件读写功能 313

10.5 范例:ExSerialize 314

10.5.1 数据定义与Serialize函数 314

10.5.2 数据初始化 317

10.5.3 默认数据 318

10.5.4 数据显示 320

10.5.5 执行程序 322

10.5.6 数据在文件中的格式 323

10.6 新建 325

10.7 打开 328

10.8 本范例Serialize函数读取数据的操作 334

10.9 另存为 344

10.10 保存 346

问题 353

第11章 打印与预览 355

11.1 MFC框架的打印与预览功能 356

11.2 打印设置 356

11.3 打印预览 358

11.4 打印 368

11.5 范例:ExPrint 384

11.5.1 主窗口 385

11.5.2 菜单 386

11.5.3 打开文件 388

11.5.4 准备字型 392

11.5.5 屏幕显示 394

11.5.6 OnDraw函数 394

11.5.7 打印与打印预览 395

11.5.8 OnPrint函数 398

第12章 多线程 403

12.2 如何控制线程 404

12.2.1 工作线程的生成与结束 404

12.1 进程与多线程 404

12.2.2 UI线程的生成与结束 406

12.2.3 线程的执行优先权 406

12.2.4 线程的暂停与继续 406

12.2.5 线程的同步 407

12.2.6 数据同步的问题 407

12.3 MFC的同步类 408

12.3.1 CEvent类 409

12.3.3 CCriticalSection类 414

12.3.4 CSingleLock类 416

12.3.5 CMultiLock类 417

12.4 范例:ExThreads 421

12.4.1 主窗口 421

12.4.2 消息与变量 422

12.4.3 生成线程 423

12.4.4 执行进度显示 426

12.4.5 暂停/恢复执行 427

12.4.6 执行结果 428

12.5 范例:ExCOMPPI 429

12.5.1 主窗口 430

12.5.2 工具栏的按钮 433

12.5.3 生成目标数据 437

12.5.4 显示目标数据 438

12.5.5 COM的控制 441

12.5.6 线程 443

12.5.7 送出数据 444

12.5.8 接收数据 448

12.5.9 其他辅助显示 452

12.5.10 开始与停止模拟 454

附录A Visual C++的范例介绍 459

附录B MFC类表 467

附录C MFC一般宏全局函数与变量 469