《Visual C++ 6.0编程实例与技巧》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:王华等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:1999
  • ISBN:7111070828
  • 页数:478 页
图书介绍:本书共分20章,主要介绍了VisualC++集成开发环境、通用MFC编程、多媒体制作、数据库编程、多线程编程、网络编程、Activex控件以及一些常用编程方法和技巧等,并配以大量例程。本书读者对象是使用VisualC++开发工具的初、中级程序员。下载本书源代码

第1章 Visual C++6.0开发环境 1

1.1 主框架窗口 1

前言 1

1.1.1 菜单栏 2

1.1.2 工具栏 12

1.1.3 工作区 15

1.1.4 客户区 15

1.1.5 输出窗口 15

1.2 资源编辑器 16

1.2.1 加速键编辑器 16

1.2.2 对话框编辑器 16

1.2.5 串编辑器 17

1.2.3 图标编辑器 17

1.2.4 菜单编辑器 17

1.2.6 工具栏编辑器 18

1.2.7 版本信息编辑器 18

1.3 Visual C++实用工具 19

1.3.1 Spy++ 19

1.3.2 MFC Tracer 20

1.3.3 Error Lookup 20

1.3.4 WinDiff 20

1.3.5 ZoomIn 22

1.4 常用操作方法 23

1.3.8 HTML Help Workshop 23

1.3.7 Help Workshop 23

1.3.6 ActiveX Control Test Container 23

第2章 应用程序基本框架 26

2.1 用MFC AppWizard自动生成第一个Windows应用程序 26

2.1.1 工作区和工程 26

2.1.2 生成应用程序框架 26

2.1.3 工程的文件组成 32

2.2 程序的运行过程和应用框架 34

2.2.1 应用框架 34

2.2.2 程序运行过程 35

2.3 应用类 36

2.3.1 InitInstance( )函数 37

2.3.2 Run( )函数 41

2.3.3 ExitInstance( )函数 42

2.3.4 OnIdle( )函数 42

2.4 边框窗口类 42

2.4.1 文档边框窗口 42

2.4.2 主边框窗口类 42

2.4.3 子边框窗口类 43

2.5 文档类和视图类 44

2.5.1 文档模板类 44

2.5.2 文档类 45

2.5.3 视图类 45

2.6.1 上述对象的构造 46

2.6 上述各个类的对象之间的关系 46

2.6.2 上述对象之间的访问 47

第3章 菜单与加速键 48

3.1 消息 48

3.2 消息映射 48

3.3 命令消息处理过程和更新用户接口对象状态命令消息处理过程 50

3.4 命令消息的传递路径 51

3.5 菜单和加速键资源 53

3.5.1 菜单 53

3.5.2 键盘加速键 54

3.6 添加菜单 54

3.7 添加键盘加速键 59

3.8 菜单项的状态更新 60

第4章 对话框与控件 63

4.1 消息对话框 63

4.2 一般对话框的创建与使用流程 65

4.3 例程S4_1:使用对话框与控件 65

4.4 创建对话框资源 66

4.5 创建对话框类 68

4.5.1 类的生成 68

4.5.2 往程序中添加代码 69

4.5.3 消息响应函数 70

4.5.4 数据交换和校验 70

4.6 模态对话框 71

4.7 非模态对话框 73

4.8 属性页对话框 74

4.8.1 CPropertySheet类 74

4.8.2 CPropertyPage类 77

4.8.3 创建一般属性页对话框 79

4.8.4 创建向导对话框 80

4.9 通用对话框 83

4.10 控件 85

4.10.1 Picture控件 86

4.10.2 Static Text控件 86

4.10.3 Edit Box控件 86

4.10.4 Spin控件 87

4.10.5 Combo Box控件 88

4.10.6 Group Box控件 90

4.10.7 Radio Button控件 90

4.10.8 Check Box控件 90

4.10.9 Button控件 96

4.10.10 Slider控件 98

4.10.11 Horizontal Scroll Bar与Vertical Scroll Bar控件 101

4.10.12 Tab控件 104

4.10.13 Tree控件 107

4.10.14 List控件 111

4.10.15 Progress控件 114

4.10.16 Animate控件 117

第5章 控件栏 119

5.1 工具栏 119

5.2 例程S5_1 120

5.3 状态栏 126

5.4 对话框栏 129

第6章 绘图 132

6.1 DC和CDC类 132

6.2 GDL和CGdiObject类 133

6.3 绘图程序实例 134

7.2 字体应用程序之一 153

7.1 CFont类 153

第7章 文本与字体 153

7.3 字体应用程序之二 157

7.4 字体应用程序之三 159

第8章 打印 163

8.1 打印原理 163

8.2 CPrintInfo 164

8.3 CPageSetupDialog 166

8.4 例程S8_1 171

8.4.1 创建工程 171

8.4.2 增加资源 171

8.4.3 实现打印功能 172

9.1 串行化 176

第9章 文件操作 176

9.1.1 MFC程序框架支持的文档结构 177

9.1.2 CArchive类 179

9.1.3 直接使用串行化 182

9.2 CFile类 182

9.2.1 打开和关闭文件 182

9.2.2 文件的定位 183

9.2.3 文件的读写操作 183

9.2.4 文件的管理 184

9.2.5 文件导常 184

9.3 文件对话框 184

9.3.1 使用CFileDialog 185

9.3.2 选择多个文件 186

9.3.3 设计自己所需的文件对话框 186

9.4 内存文件类 186

9.4.1 CMemFile类 186

9.4.2 CSharedFile类 187

9.5 文件输入/输出流 188

9.6 内存映射文件 188

9.6.1 创建和打开内存映射文件 188

9.6.2 使用内存映射文件 189

9.6.3 使用内存映射文件共享数据 190

9.6.4 VLM的内存映射文件操作 191

9.7 文件操作例程 191

9.7.1 创建程序框架和使用框架支持的串行化操作 192

9.7.2 使用CStdioFile类 199

9.7.3 使用CFile、CArchive类和内存映射文件 201

第10章 多媒体制作 205

10.1 声音 205

10.1.1 两个例子 205

10.1.2 播放声音的三个简单函数 207

10.1.3 用MCI控制波形声音的播放 209

10.2 图像 223

10.2.1 Windows的BMP文件结构 224

10.2.2 显示DIB的程序实例 225

10.3 视频 231

11.2 数据库操作 234

11.2.1 异常处理 234

第11章 数据库编程 234

11.1 ODBC与DAO 234

11.2.2 新建数据库 235

11.2.3 打开数据库 235

11.2.4 关闭数据库 236

11.2.5 新建表 236

11.2.6 删除表 237

11.2.7 打开表 237

11.2.8 修改表结构 238

11.2.9 插入记录 238

11.2.11 修改记录 240

11.2.10 删除记录 240

11.3.1 CDaoWorkspace 241

11.3 DAO类 241

11.3.2 CDaoDatabase 244

11.3.3 DaoRecordset 246

11.3.4 CDaoQueryDef 251

11.3.5 CDaoTableDef 253

11.3.6 CDaoRecordView 255

11.3.7 CDaoFieldExchange 256

11.3.8 CDaoException 257

11.4.1 创建工程 258

11.4.2 增加、修改资源 258

11.4 例程S11_1 258

11.4.3 增加CCrack类 260

11.4.4 实现数据库功能 268

第12章 多线程 286

12.1 多线程概述 286

12.2 用户界面线程 287

12.2.1 创建用户界面线程 287

12.2.2 启动用户界面线程 288

12.2.3 使用用户界面窗口 289

12.3 工作者线程 289

12.3.1 实现控制函数 289

12.4.1 正常终止 290

12.3.2 启动工作者线程 290

12.4 线程的终止 290

12.4.2 异常终止 291

12.4.3 几种终止函数的比较 291

12.4.4 获取线程的退出码 292

12.5 线程的管理和操作 292

12.5.1 优先级 292

12.6.1 使用同步类控制访问共享数据 293

12.6.2 使用消息队列 293

12.6 线程间通讯 293

12.5.2 控制运行状态 293

12.7 使用同步类 294

12.7.1 同步对象 294

12.7.2 同步访问对象 296

12.8 多线程的调试 297

12.9 多线程例程 299

第13章 网络编程 311

13.1 网络应用程序 311

13.1.1 网络应用程序的结构 311

13.1.2 建立socket对象 311

13.1.5 监听socket 312

13.1.6 为客户端连接请求建立socket队列 312

13.1.3 建立连接 312

13.1.4 发送和接收数据 312

13.2 WinSock类 313

13.2.1 CAsyncSocket 313

13.2.2 CSocket 317

13.3 客户端应用程序例程S13_1 318

13.3.1 创建工程 318

13.3.2 增加、修改资源 319

13.3.3 增加CRequestSocket类 320

13.3.4 实现网络功能 322

13.4.1 创建工程 326

13.4.2 增加、修改资源 326

13.4 服务器端例程S13_2 326

13.4.3 增加CListeningSocket类 327

13.4.4 增加CClientSocket类 328

13.4.5 实现网络功能 329

第14章 动态链接库 333

14.1 DLL基础知识 333

14.1.1 DLL概述 333

14.1.2 MFC中的DLL 333

14.2 DLL入出口函数 334

14.2.1 DllMain函数 334

14.2.2 MFC AppWizrd生成的Regular DLL的入出口 335

14.3 从DLL中导出函数 335

14.3.1 使用DEF文件导出函数 336

14.3.3 使用AFX_EXT_CLASS导出 337

14.3.2 使用关键字-declspec(dllexport) 337

14.4 DLL中的数据和内存 338

14.4.1 从DLL加导出数据 338

14.4.2 多个进程共享DLL中的数据和内存 339

14.5 DLL中的资源 340

14.6 程序链接 341

14.6.1 隐式链接 341

14.6.2 显式链接 342

14.7 Visual C++6.0自动生成的Win32DLL 342

14.7.1 空的DLL工程 343

14.7.2 简单的DLL工程 343

14.7.3 导出了变量、函数和类的DLL 343

14.8.2 动态链接MFC的Regular DLL 344

14.8 MFC AppWizard生成的DLL 344

14.8.1 静态链接 MFC的Regular DLL 344

14.8.3 动态链接的MFC扩展DLL 345

14.9 DLL的使用和调试 346

14.9.1 DLL的使用 346

14.9.2 如何调试DLL 347

14.10 DLL例程 348

14.10.1 S14_DLL例程 348

14.10.2 S14_APP应用程序例程 354

第15章 组件 362

15.1 添加组件的一般方法 362

15.3 空闲时间处理(Idle time processing) 363

15.2 例程S15_1 363

15.4 往视图中添加弹出式菜单(Pop-up Menu) 364

15.5 制作软件封面(Splash screen) 366

15.6 切分视图窗口(Splitter Bar) 367

15.7 显示系统信息(System Info) 368

15.8 在软件启动时显示小提示(Tip of the day) 370

15.9 给控件添加小提示(ToolTip) 372

第16章 ActiveX控件 373

16.1 往工程中添加ActiveX控件 373

16.2 例程S16_1 374

16.2.1 创建工程 374

16.2.2 往工程中添加FlexGrid控件 374

16.2.3 使用FlexGrid控件 375

16.3 自定义ActiveX控件 378

16.4 例程S16_2 379

16.4.1 创建工程 379

16.4.2 测试ActiveX控件 379

16.4.3 注册/取消注册ActiveX控件 381

16.4.4 ActiveX控件的版本 381

16.4.5 定制ActiveX控件的图标 381

16.4.6 定制ActiveX控件的界面 382

16.4.7 添加栈属性 383

16.4.8 添加自定义属性 384

16.4.10 添加自定义事件 388

16.4.9 添加栈事件 388

16.4.11 添加栈方法 389

16.4.12 添加自定义方法 390

第17章 帮助的制作 391

17.1 HLP文件类型的帮助 391

17.1.1 RTF文件 392

17.1.2 Help Workshop 395

17.1.3 例程S17_1 395

17.1.4 WinHelp函数 399

17.2 HTML 402

17.2.1 HTML 402

17.2.2 例程S17_2 405

17.3 CHM类型的帮助 409

17.3.1 HTML Help Workshop 411

17.3.2 例程S17_3 412

17.3.3 HtmlHelp函数 414

第18章 MFC常用类 415

18.1 CArray 415

18.2 CPoint 417

18.3 CRect 419

18.4 CSize 422

18.5 CString 423

18.6 CStringArray 429

18.7 CTime 431

第19章 安装/卸载程序 434

19.1 安装/卸载程序 434

19.2 例程S19_1 434

19.2.1 InstallShield向导 434

19.2.2 Scripts标签 436

19.2.3 Components标签 436

19.2.4 Setup Types标签 438

19.2.5 Setup Files标签 439

19.2.6 File Groups标签 439

19.2.7 Resources标签 440

19.2.9 程序的卸载过程 441

19.2.8 Media标签 441

第20章 方法与技巧集锦 443

20.1 Visual C++常用操作技巧 443

20.1.1 打开和编辑二进制文件 443

20.1.2 检测括号是否匹配 443

20.1.3 检测#if语句和#endif语句是否匹配 443

20.1.4 删除工程的中间文件以便于备份工程 443

20.1.5 快速显示当前函数的有关信息 443

20.2 如何同进操作两个或两个以上的工程 444

20.3 如何优化工作区中的树目录 444

20.4 如何将工程中的MFC类添加到ClassWizard中 444

20.5 Visual C++命名规则 445

20.6 如何使工程链接时链入某些库文件 446

20.7 如何查看编译、链接的出错信息 447

20.8 如何在应用程序中使用中文 447

20.9 如何编写DOS控制台程序和C语言程序 447

20.10 如何在应用程序中启动其他应用程序 449

20.10.1 调用system函数 449

20.10.2 调用WinExec函数 449

20.10.3 调用ShellExecuate函数 450

20.10.4 调用CreateProcess函数 450

20.11 如何退出应用程序 451

20.12 用内存映射文件实现多个程序间互斥运行 452

20.13 如何禁止运行一个程序的多个实例 453

20.14 如何在程序中将其他窗口程序调至前台 454

20.15 设计通知栏图标程序 455

20.16 如何使MDI应用程序在刚启动时不建立一个新文件 456

20.17 如何删除指定目录及其目录下的所有文件和子目录 457

20.18 如何使用定时器 458

20.19 如何改变对话框的颜色 458

20.20 如何改变控件的颜色 459

20.21 如何获取对话框中控件的窗口指针并进行一些常用操作 459

20.22 如何制作图标按钮和位图按钮 459

20.23 如何明确对话框的UpdateData( )函数的参数含义 460

20.24 如何使对话框中的两个Edit Box控件的内容相关 460

20.26 如何使用CDC类进行裁剪输出 461

20.25 如何从其他应用程序中“借用”资源 461

20.27 设置视图类的空背景画刷,提高显示刷新速度 462

20.28 使用内存兼容位图对象绘制,提高显示刷新速度 463

20.29 实现全屏显示 464

20.30 如何在应用程序的整个窗口中获取鼠标的消息 466

20.31 如何使用注册表 467

20.31.1 RegCreateKeyEx 468

20.31.2 RegOpenKeyEx 470

20.31.3 RegQueryValueEx 470

20.31.4 RegSetValueEx 471

20.32.1 AddItem 472

20.32 如何通过DDE利用progman.exe创建程序组和程序项 472

20.31.5 RegDeleteKey 472

20.32.2 CreateGroup 473

20.32.3 DeleteGroup 473

20.32.4 DeleteItem 473

20.32.5 ExitProgman 473

20.32.6 Reload 474

20.32.7 ReplaceItem 474

20.32.8 ShowGroup 474

20.33 如何创建ODBC数据源 474

20.34 如何在Windows NT下直接对并行口进行操作 475

20.35 如何查询和设置系统参数信息 476

20.36 如何获取系统的度量信息和相关的配置信息 476