《Visual C++6程序设计经典》PDF下载

  • 购买积分:16 如何计算积分?
  • 作  者:林俊杰编著
  • 出 版 社:北京市:科学出版社
  • 出版年份:1999
  • ISBN:7030080025
  • 页数:523 页
图书介绍:

第1章 综述 1

1.1本书结构 1

1.2本书约定 2

1.3特殊说明 2

第2章 C++重点回顾 3

2.1类、对象、实例 3

2.2构造函数Constructor 3

2.3匿名实例Nameless Instance 4

2.4虚函数 5

2.5异常处理 7

第3章 基本概念与简单的MFC类 10

3.1什么是Win32 API 10

3.2主控台模式应用程序(Win32 Console Mode) 11

3.3基本数据类型 12

3.3.1基本的数据结构 13

3.3.2使用TCHAR设计支持Unicode和SBCS的通用源程序 14

3.4使用MFC类库 16

3.4.1 MFC的根CObject 16

3.4.2功能强大的字符串类CString 16

3.4.3 CFile家族 18

3.4.4 CException异常类家族 21

3.4.5通用的列表类CList 24

第4章 窗口程序的基本概念 26

4.1终端接口与GUI接口 26

4.2组成要素 27

4.2.1应用程序 27

4.2.2窗口 28

4.2.3消息传递机制 32

第5章 建立第一个窗口程序 34

5.1使用Visual C++ 34

5.1.1创建新的工程文件 34

5.1.2设定工程文件选项 35

5.1.3建立新CPP文件 36

5.1.4编译与执行示例程序 37

5.1.5改错 38

5.2示例程序 39

5.2.1 HelloApp 39

5.2.2 MyFrameWindow 40

5.3增加资源文件 43

5.3.1建立新的资源文件 43

5.3.2符号与资源的包含文件(Include Files) 44

5.3.3插入资源 44

5.3.4编辑位图资源 46

5.3.5编辑图标资源 47

5.3.6编辑菜单资源 48

5.3.7引用资源 49

5.4用AppWizard产生类似的程序 54

5.4.1用AppWizard产生工程文件 54

5.4.2产生了什么代码 60

5.4.3在CChildView内显示文字 62

第6章 窗口的产生与处理 64

6.1窗口类 64

6.2产生CWnd对象 65

6.2.1 CWnd::Create() 66

6.2.2 CWnd::CreateEx() 68

6.2.3 WM_CREATE消息 69

6.2.4 CREATESTRUCT 69

6.3消息响应 70

6.3.1映射表 70

6.3.2给窗口发送消息 71

6.4关闭窗口 73

6.5窗口的位置及尺寸 75

6.5.1取得窗口的位置及大小 75

6.5.2如何移动窗口并改变大小 75

6.5.3移动窗口、改变其大小及垂直相对位置(z-order) 75

6.5.4移动与变更尺寸的消息 77

6.5.5改变窗口的显示状态 77

6.5.6工作区的相关信息 78

6.5.7坐标系统的转换 78

6.6窗口的状态与样式 79

6.6.1图标化(Iconic) 79

6.6.2可见性(Visible) 80

6.6.3放大(Zoomed) 80

6.6.4使能(Enabled) 80

6.6.5活动(Active)与非活动(Inactive) 80

6.6.6子窗口 81

6.6.7窗口的样式 81

6.7工作区显示 82

6.7.1与显示画面有关的消息 83

6.8有滚动条的窗口 83

6.8.1滚动条 83

6.8.2滚动条的范围 85

6.8.3滚动块的位置 85

6.8.4滚动条的消息 85

6.8.5滚动工作区 86

6.9 CWnd与句柄 86

6.10 Window Text 87

第7章 快速创建MFC应用程序 89

7.1基础知识 89

7.1.1对话框与一般窗口的差别 89

7.1.2控件 92

7.1.3控件的通知消息 93

7.2示例:编辑器与列表框的字符串交换 93

7.2.1建立工程文件 94

7.2.2对话框资源编辑器 95

7.2.3设计对话框的外观 97

7.2.4响应各种事件消息 100

7.2.5运行的细节 105

7.3信息框 109

7.3.1示例 111

第8章 键盘、鼠标与时间 112

8.1信息与输入焦点 112

8.1.1改变输入焦点 112

8.1.2与输入焦点有关的信息 113

8.2键盘的信息 113

8.2.1 ASCII码、虚拟键码与扫描码 114

8.2.2信息 114

8.3鼠标 116

8.3.1鼠标信息 116

8.3.2更换鼠标的光标 118

8.3.3显示等待光标 119

8.3.4取得鼠标的控制权 119

8.4 特殊的状况 120

8.4.1中文窗口下的文本输入 120

8.4.2 Windows95之后的新按键 121

8.5示例:打字模拟程序 122

8.5.1捕获消息 123

8.5.2文本光标 123

8.5.3鼠标光标 125

8.5.4显示键入的字符 125

8.6计时器消息与时间 130

8.6.1查询系统时间 131

8.7设计鼠标光标 131

8.7.1绘制手掌型光标 132

8.7.2光标的热点 132

8.7.3更换鼠标光标 132

第9章 菜单与快捷键 133

9.1菜单 133

9.1.1命令消息 134

9.1.2使用菜单 137

9.1.3系统菜单 137

9.1.4弹出式菜单 138

9.1.5 CMenu的成员函数 139

9.1.6示例 143

9.2快捷键 149

9.2.1快捷键的工作方式 149

9.2.2编辑快捷键表 149

9.2.3示例 150

第10章 文档、视图与框架窗口 153

10.1“文档/视图”(Document/View)模型 153

10.1.1“文档”与“视图” 153

10.1.2单文档界面与多文档界面 154

10.2 Document/View与框架窗口的关系 156

10.2.1一个标准的SDI示例 157

10.2.2编辑字符串表(String Table) 161

10.3 CDocument类 167

10.3.1 View的管理 167

10.3.2建立或打开文档 168

10.3.3储存文档 170

10.3.4关闭文档 171

10.3.5 Serialize 171

10.3.6应该被重载的函数 174

10.3.7其他成员 175

10.4 CView类 176

10.4.1应该被重载的函数 176

10.5 CScrollView类 177

10.5.1 CScrollView的工作原理 177

10.5.2 CScrollView的成员函数 177

10.6 SDI框架窗口CFrameWnd 178

10.6.1重要的成员函数 178

10.6.2菜单的自动enable/disable 179

10.7示例:拉线绘图 180

10.7.1 CList 180

10.7.2鼠标的操作 181

10.7.3 Serialize 181

10.7.4更换鼠标光标 182

10.7.5其他细节 182

10.7.6改用CScrollView 192

10.8 工具条与状态条 193

10.8.1建立工具条 194

10.8.2编辑工具条资源 196

10.8.3建立状态条 196

10.8.4在状态条中显示时间 197

10.8.5工具条与状态条的开关 198

10.8.6状态条与Tooltip中的辅助说明文字 198

10.9 MDI 202

10.9.1一个标准的MDI示例 203

10.9.2排列MDI子窗口 211

10.9.3管理MDI子窗口 211

10.9.4 CMDIFrameWnd的自动功能 212

10.9.5 Window选项 212

10.9.6最近使用的文档MRU 213

10.9.7与MDI有关的消息 213

10.10 MDI化的LineArt 214

10.11多视图类的MDI 226

10.12分裂式窗口(Splitter Window) 236

10.12.1内含“动态分裂窗口”的SDI标准示例 237

10.12.2内含“静态分裂窗口”的SDI示例 240

10.13更多不同的View类 249

10.13.1另一类对话框CFormView 250

10.13.2可以直接编辑文字的CEditView 250

第11章 文档视图模式与AppWizard 258

11.1 SDI工程文件 258

11.1.1使用AppWizard建立工程文件 258

11.1.2新工程文件中有哪些类 261

11.1.3用ClassWizard重做SDI版的LineArt 261

11.2 MDI工程文件 268

11.2.1使用AppWizard建立MDI工程文件 268

11.2.2新工程文件中有哪些类 269

11.3不用文档视图模式的工程文件 270

第12章 控件 272

12.1静态类 272

12.1.1 CStatic::Create() 272

12.1.2样式 272

12.1.3成员函数 274

12.1.4 CStatic的通知消息(Win95) 274

12.2按钮 275

12.2.1 CButton::Create() 275

12.2.2样式 275

12.2.3成员函数 278

12.2.4通知消息 279

12.2.5示例:计算器 280

12.3滚动条CScrollBar 292

12.3.1 CScrollBar::Create() 293

12.3.2样式 293

12.3.3成员函数 293

12.3.4通知消息 295

12.3.5示例:Multithread动画 296

12.4列表框 304

12.4.1样式 305

12.4.2成员函数 306

12.4.3通知消息 309

12.5编辑控件 310

12.5.1样式 310

12.5.2成员函数 310

12.5.3通知消息 313

12.6组合框 313

12.6.1样式 314

12.6.2成员函数 314

12.6.3通知消息 318

12.7信息交换与检查 318

12.7.1简单的示例 319

12.7.2常见的DDX函数 323

12.7.3常见的DDV检查函数 324

12.7.4在ClassWizard中增加DDX/DDV选项 325

第13章 设备上下文与基本绘图工具 327

13.1概述 327

13.2 CDC 327

13.2.1建立与删除CDC对象 327

13.2.2 CDC的内含资源对象 329

13.2.3查询DC的相关信息 330

13.2.4 CDC的其他成员函数 332

13.3 CWindowDC与CClientDC 333

13.3.1 CWindowDC的构造函数 333

13.3.2 CClientDC的构造函数 333

13.4画笔与画刷 333

13.4.1画笔 333

13.4.2画刷 335

13.5基本绘图函数 336

13.5.1点 336

13.5.2线 337

13.5.3弧线 337

13.5.4椭圆 339

13.5.5矩形 340

13.5.6饼图 340

13.5.7多边形 341

13.6色彩与调色板 342

13.6.1显卡的概念 342

13.6.2 16色与256色模式 342

13.6.3 32K,64K以及16M色模式 343

13.6.4逻辑调色板和硬件调色板 343

13.6.5常用来表示“颜色”的结构与宏定义 345

13.7使用调色板 347

13.7.1建立调色板对象 347

13.7.2将调色板对象指派给DC 347

13.7.3“实现”(Realize)调色板 347

13.7.4画图 347

13.7.5响应系统消息 347

13.7.6调色板的其他成员函数 348

13.8字体与文本输出 349

13.8.1基本知识 349

13.8.2如何描述“字体” 350

13.8.3 CFont类 353

13.8.4多样的文字输出方式 354

13.8.5文字输出的格式与属性 358

第14章 位图 363

14.1简介 363

14.1.1设备独立位图DIB 363

14.1.2设备相关位图DDB 364

14.2 CBitmap类 364

14.2.1建立DDB 364

14.2.2 CBitmap成员函数 365

14.2.3与DDB有关的函数 366

14.3设备无关位图类DIB 367

14.3.1 DIB的结构 367

14.3.2 BITMAPFILEHEADER 367

14.3.3 BITMAPINFO 368

14.3.4 BITMAPINFOHEADER 368

14.3.5 RGBQUAD 369

14.3.6 BMP文件的格式 369

14.3.7 Win32 API和DIB有关的函数 370

14.3.8 DIB与DDB的转换 371

14.4处理DIB的示例 371

14.4.1自己设计CDib类 371

14.4.2主程序 383

14.4.3多页对话框 395

第15章 打印与坐标系 401

15.1打印 401

15.1.1设定打印机的状态 401

15.1.2通过CView打印 403

15.1.3示例 406

15.2比例、原点与方向 409

15.2.1如何改变映射模式 410

15.2.2理想与现实 410

15.2.3示例 411

15.3更大的灵活性 415

15.4打印预览 417

第16章 通用控件 418

16.1概述 418

16.1.1通用控件的种类 418

16.1.2通用控件的共性 421

16.1.3通用控件的通知消息 421

16.1.4通用控件都会产生的通知消息 422

16.2 CSliderCtrl 422

16.2.1 CSliderCtrl的样式 423

16.2.2 CSliderCtrl的成员函数 423

16.2.3 CSliderCtrl的通知消息 425

16.3 CSpinButtonCtrl 425

16.3.1 CSpinButtonCtrl的样式 426

16.3.2 CSpinButtonCtrl的用法 426

16.3.3 CSpinButtonCtrl的其他成员函数 426

16.3.4 CSpinButtonCtrl的通知消息 427

16.4 CHeaderCtrl 427

16.4.1 CHeaderCtrl的样式 427

16.4.2如何使用CHeaderCtrl 427

16.4.3其他的成员函数 429

16.4.4 CHeaderCtrl的通知消息 429

16.5 CAnimateCtrl 429

16.5.1 CAnimateCtrl的样式 430

16.5.2 CAnimateCtrl的成员函数 430

16.5.3 CAnimateCtrl的通知消息 430

16.5.4示例 430

16.6 CProgressCtrl 432

16.6.1 CProgressCtrl的用法 432

16.6.2示例 432

16.7 CtreeCtrl,CTreeView与CImageList 433

16.7.1使用CimageList 433

16.7.2 CTreeCtrl的样式 434

16.7.3 CTreeCtrl的用法 435

16.7.4其他成员函数 437

16.7.5 CTreeCtrl的通知消息 439

16.7.6 CTreeView 441

16.7.7示例:显示磁盘的树状目录 441

16.8 CListCtrl与CListView 453

16.8.1 CListCtrl的样式 455

16.8.2 CListCtrl的用法 455

16.8.3 CListCtrl的成员函数 458

16.8.4 CListCtrl的通知消息 462

16.8.5 CListView 463

16.8.6示例:显示目录中的文件列表 463

16.9示例:程序管理器 475

第17章 使用ActiveX控件 479

17.1 ActiveX控件的由来 479

17.1.1面向组件的程序设计(Component-Oriented Programming) 480

17.2使用ActiveX控件 480

17.2.1安装ActiveX控件 481

17.2.2 MCI32.OCX简介 482

17.3设计ActiveX容器 482

17.3.1启动ActiveX 482

17.3.2插入ActiveX控件 483

17.3.3在对话框中使用MCI控件 485

17.3.4在程序中控制MCI控件 487

第18章 进程和线程 489

18.1 Win32的内存管理 489

18.1.1 Win32的内存分配函数 491

18.2 Process简介 494

18.2.1产生Child Process 494

18.2.2与process有关的信息 497

18.2.3结束process 498

18.3 Thread简介 498

18.3.1产生Child Thread 499

18.3.2 Thread的信息 499

18.3.3终止Thread 500

18.4同步(Synchronization) 500

18.4.1 Critical Section 502

18.4.2等待对象的状态改变 505

18.4.3 Mutex 507

18.4.4 Event 509

18.5进程间通信IPC 512

18.5.1共享内存与文件映射 513

18.6 CWinThread 516

18.6.1 GUI Thread与非GUI Thread 516

18.6.2利用CWinThread产生Thread的流程 516

18.6.3其他的CWinThread成员 517

第19章 Profile与Registry 518

19.1什么是Profile 518

19.2什么是Registry 519

19.2.1建立新的key 520

19.2.2打开已存在的entry 521

19.2.3写入信息 522

19.2.4读取信息 522

19.2.5删除key或entry 523

19.2.6关闭Key 523

附录 Internet上的MFC资源 524