当前位置:首页 > 工业技术
Visual C++完全自学手册
Visual C++完全自学手册

Visual C++完全自学手册PDF电子书下载

工业技术

  • 电子书积分:14 积分如何计算积分?
  • 作 者:古万荣等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2009
  • ISBN:9787111256540
  • 页数:430 页
图书介绍:本书介绍如何使用Visual C++进行编程。
《Visual C++完全自学手册》目录

第一篇 C++、VC6.0和应用程序框架基础第1章 VC6.0开发环境和应用程序框架 1

1.1 安装并测试VC6.0 1

1.1.1 VC6.0的安装 1

1.1.2 VC6.0开发环境 6

1.1.3 VC6.0应用程序向导和项目创建 7

1.2 VC6.0简介 10

1.2.1 C/C++编译器 11

1.2.2 编辑器 11

1.2.3 资源编辑器和资源符号 12

1.2.4 连接器和调试器 13

1.2.5 VC6.0的主要菜单项功能 13

1.2.6 项目和解决方案 21

1.2.7 本机帮助和联机帮助 21

1.3 Win32基本应用程序的创建 22

1.3.1 使用AppWizard应用程序向导 22

1.3.2 Win32应用程序的生成 22

1.3.3 VC6.0的调试:变量跟踪和函数调用栈 27

1.4 Microsoft应用程序框架 28

1.4.1 全局对象 28

1.4.2 MFC的消息映射和消息分类 29

1.5 实例1.1——编写第一个C++程序:Hello,C++! 29

1.6 实例1.2——创建第一个MFC程序:Hello,MFC! 32

1.7 小结 33

第2章 C++语法基础 34

2.1 C++简介 34

2.2 数据类型定义和使用 35

2.2.1 简单变量 35

2.2.2 算术运算符 39

2.2.3 枚举、指针和数组 40

2.2.4 string类和C风格字符串 43

2.2.5 结构体类型 44

2.2.6 类类型 46

2.2.7 实例2.1——成绩管理系统(1.0版) 49

2.3 运算符、表达式和语句 54

2.3.1 几种常用的运算符 54

2.3.2 循环语句:for语句、while语句和do...while语句 55

2.3.3 判断语句:if语句和switch语句 57

2.3.4 实例2.2——成绩管理系统(2.0版) 61

2.4 函数定义和调用 64

2.4.1 定义函数和函数原型 64

2.4.2 函数通过指针来调用数组 65

2.4.3 函数指针 66

2.4.4 具有引用参数的函数 67

2.4.5 函数重载 70

2.4.6 函数模板的定义和使用 71

2.4.7 实例2.3——成绩管理系统(3.0版) 72

2.5 类的定义和对象构造 74

2.5.1 自然界中的类型和C++的类定义 74

2.5.2 实现类成员函数 76

2.5.3 实例化类对象并使用 78

2.5.4 类的构造函数和析构函数 79

2.5.5 运算符重载与this指针的使用 81

2.5.6 友元函数和友元类 83

2.5.7 实例2.4——成绩管理系统(4.0版) 86

2.6 类继承 90

2.6.1 is-a关系 90

2.6.2 多态公有继承 92

2.6.3 protected访问控制 94

2.6.4 抽象基类 95

2.6.5 私有继承和保护继承 96

2.6.6 多继承 96

2.6.7 类模板 97

2.7 C++异常机制 98

2.7.1 异常处理类型 98

2.7.2 exception类 100

2.8 标准模板库(STL) 100

2.8.1 auto_ptr类的使用 101

2.8.2 vector模板类的定义和使用 101

2.8.3 通用算法 102

2.8.4 实例2.5——使用STL和通用算法开发成绩管理系统(5.0版) 104

2.9 I/O流和文件 109

2.9.1 C++的输入和输出 109

2.9.2 文件输入和输出 109

2.9.3 实例2.6——在VC6.0中创建C++源文件,使用磁盘文件读写 110

2.10 小结 111

第二篇 MFC基础 113

第3章 Windows消息映射 113

3.1 视图类 113

3.2 应用程序的类型 114

3.3 资源编辑器 115

3.4 MFC应用程序中的各种子功能 116

3.5 消息映射函数和Windows映射模式 121

3.5.1 获取用户单击和输入 121

3.5.2 MM_TEXT映射模式 121

3.5.3 固定比例映射模式 122

3.5.4 可变比例映射模式 122

3.5.5 坐标转换 122

3.6 其他Windows消息 123

3.7 实例——消息映射函数的使用 123

3.8 小结 128

第4章 GDI函数 129

4.1 设备环境类 129

4.1.1 CDC类及其派生类简介 129

4.1.2 CDC类对象的行为函数 130

4.2 GDI对象的构造和使用 132

4.3 字体选择和显示 132

4.4 实例4.1——字体的使用 133

4.5 GDI位图和DIB位图 135

4.6 实例4.2——位图的使用 136

4.7 小结 141

第5章 对话框 142

5.1 两种不同类型的对话框 142

5.2 实例5.1——计算器软件的开发 142

5.3 实例5.2——模式对话框的创建和使用 147

5.4 Windows通用对话框 150

5.4.1 CFileDialog类——文件打开对话框的使用 151

5.4.2 CColorDialog类——调色板对话框的使用 152

5.4.3 CFindReplaceDialog类——字词查找和替换对话框的使用 153

5.4.4 CPageSetupDialog类——页面设置对话框的使用 154

5.4.5 CFontDialog类——字体设置对话框的使用 156

5.4.6 CPrintDialog类——打印设置对话框的使用 157

5.5 无模式对话框 157

5.6 小结 158

第6章 控件 160

6.1 VC6.0资源和通用控件 160

6.2 VC6.0的控件工具箱 160

6.3 实例6.1——简单控件的使用 162

6.4 标准通用控件 165

6.4.1 进度指示器控件 165

6.4.2 划块控件 165

6.4.3 列表控件 166

6.4.4 树状控件 166

6.5 实例6.2——标准通用控件的使用 167

6.6 实例6.3——成绩管理系统(6.0版-Windows版) 170

6.7 小结 183

第7章 Windows的基本输入 184

7.1 键盘消息及其处理 184

7.1.1 键盘消息的处理 184

7.1.2 键盘消息处理函数 185

7.1.3 实例7.1——键盘消息处理 186

7.2 鼠标消息及其处理 190

7.2.1 鼠标消息的处理 190

7.2.2 鼠标消息处理函数 190

7.2.3 实例7.2——鼠标消息处理(五子棋游戏) 191

7.3 小结 203

第8章 ActiveX控件 204

8.1 ActiveX控件的特殊性 204

8.1.1 ActiveX控件和普通控件的相同点 204

8.1.2 ActiveX控件和普通控件的不同点 204

8.2 安装ActiveX控件 205

8.3 实例——ActiveX控件:日历控件的创建 206

8.4 ActiveX控件在Web编程中的使用 208

8.5 图形属性和变化通知 209

8.6 小结 210

第三篇 深入学习MFC 211

第9章 菜单和框架窗口 211

9.1 Windows应用程序的框架窗口 211

9.2 Windows菜单和MFC菜单编辑器 211

9.3 Windows应用程序的快捷键 212

9.4 命令处理的使用 213

9.5 复文本编辑 214

9.5.1 编辑视图类:CEditView类 214

9.5.2 复文本编辑视图类:CRichEditView类 214

9.5.3 复文本编辑控件类:CRichEditCtrl类 214

9.6 实例——快捷键和文本编辑使用 214

9.6.1 基本框架和界面实现 215

9.6.2 快捷键设计 217

9.6.3 存储和显示文档类中的文本 218

9.6.4 选项卡对话框的设计 219

9.6.5 视图类的功能实现 221

9.6.6 运行效果和实践小结 223

9.7 属性表的开发过程 223

9.8 鼠标右键调用的浮动快捷菜单 224

9.9 CPersistentFrame持续信息类的使用 225

9.10 使用ActivateFrame()成员函数设置窗口尺寸和位置 226

9.11 创建窗口之前的工作:PreCreateWindow成员函数 226

9.12 控制栏状态和Windows注册表 227

9.13 MDI应用程序和持续框架 227

9.14 小结 228

第10章 工具栏和状态栏 229

10.1 MFC应用程序框架和控制栏 229

10.2 工具栏按钮 229

10.2.1 工具栏位图和按钮的状态 229

10.2.2 命令消息和更新命令控制函数 230

10.3 工具栏的提示信息 230

10.4 实例10.1——使用工具栏的应用程序 231

10.5 状态栏的定义和显示 235

10.5.1 状态栏的定义 235

10.5.2 信息行的显示 235

10.5.3 状态指示器 236

10.6 实例10.2——使用状态栏的程序设计 237

10.7 小结 238

第11章 文档和视图的分离 239

11.1 文档和视图相互作用的函数 239

11.1.1 获取当前文档:CView::GetDocument()函数 239

11.1.2 更新所有视图:CDocument::UpdateAllViews()函数 240

11.1.3 视图自我更新:CViews::OnUpdate()函数 240

11.1.4 初始化更新界面:CView::OnInitialUpdate()函数 240

11.1.5 创建新文档:CDocument::OnNewDocument()函数 240

11.2 一个简单的文档视图应用程序的创建和分析 240

11.3 CView类的派生类 241

11.4 MFC类家族的始祖——CObject类 241

11.5 诊断信息转储基础 242

11.5.1 TRACE宏的使用 242

11.5.2 AfxDump对象的使用 242

11.5.3 MFC的信息转储环境 243

11.6 实例11.1——使用诊断信息进行文档视图交互 245

11.6.1 项目创建和界面设计 245

11.6.2 CWorker类的设计 246

11.6.3 诊断信息和文档视图交互功能的实现 248

11.7 高级的文档和视图交互 250

11.8 CObList集合类 252

11.9 实例11.2——一个多视图的SDI应用程序 253

11.9.1 项目创建和界面设计 253

11.9.2 编写文档代码 254

11.9.3 编写视图代码 254

11.10 小结 257

第12章 文档的读和写 258

12.1 序列化理论 258

12.1.1 磁盘文件和内存文件 258

12.1.2 类的序列化 259

12.1.3 编写Serialize()函数 259

12.2 Windows应用程序对象 260

12.3 实例12.1——支持序列化的应用程序 260

12.3.1 创建支持序列化的MFC应用程序 260

12.3.2 重写CObject基类的序列化函数 261

12.3.3 编写界面功能 262

12.3.4 开发序列化和反序列化功能 263

12.4 应用程序在Windows中的注册 264

12.5 MDI应用程序 265

12.5.1 MDI应用程序对象 265

12.5.2 MDI文档模板类 265

12.5.3 MDI窗口类型 266

12.5.4 创建文档 266

12.6 实例12.2——MDI应用程序的创建 266

12.7 MTI支持 268

12.8 小结 268

第13章 切分窗口和多视图 269

13.1 动态和静态切分窗口 269

13.2 关于视图的选择 269

13.3 实例13.1——简单动态切分窗口应用程序的创建 270

13.4 实例13.2——多视图的静态切分窗口的开发 272

13.5 实例13.3——多视图切换的开发 274

13.6 小结 276

第14章 打印功能 277

14.1 Windows环境下的打印功能 277

14.2 打印预览 277

14.3 打印程序设计的相关接口 278

14.3.1 打印机设备环境 278

14.3.2 打印函数:CView::OnPrint()函数 278

14.3.3 打印程序的执行过程 278

14.4 实例14.1——打印应用程序的创建和使用 279

14.5 实例14.2——多页打印应用程序的创建和使用 282

14.6 小结 285

第15章 上下文相关帮助 286

15.1 简易WinHelp的制作 286

15.2 应用程序框架WinHelp 288

15.2.1 调用WinHelp 288

15.2.2 使用搜索功能 288

15.2.3 消息框帮助 289

15.3 实例——帮助示例 289

15.4 帮助快捷命令 293

15.4.1 使用F1键 293

15.4.2 通过菜单命令调用帮助过程 293

15.5 小结 293

第16章 动态链接库(DLL) 294

16.1 DLL理论基础 294

16.1.1 DLL导入和导出的原理 295

16.1.2 隐式和显式连接 295

16.1.3 符号和序号连接 295

16.1.4 DllMain()函数 295

16.2 正规的MFC DLL和扩展的MFC DLL 296

16.2.1 正规的DLL 296

16.2.2 扩展的DLL 298

16.3 自定义控件DLL 299

16.4 实例——创建和使用自定义控件DLL 300

16.4.1 创建项目 300

16.4.2 添加功能代码 300

16.4.3 创建客户程序测试自定义控件 302

16.5 小结 304

第17章 MFC类家族 305

17.1 MFC类家族结构 305

17.2 MFC运行机制 306

17.3 MFC家族分支 307

17.3.1 CView视图类分支 307

17.3.2 CDC画图类分支 308

17.3.3 CException异常类分支 309

17.3.4 CGdiObject类分支 310

17.3.5 套接字类分支 310

17.4 非CObject派生类 311

17.4.1 简单类型类 311

17.4.2 Internet Server API类 311

17.5 小结 312

第四篇 自动化、COM和OLE 313

第18章 自动化 313

18.1 什么是VBA 313

18.2 VBA与C++组件 313

18.3 自动化接口 314

18.4 MFC自动化组件 315

18.5 实例18.1——MFC自动化的使用 316

18.5.1 创建MFC DLL自动化项目 316

18.5.2 添加自动化类和成员函数 316

18.5.3 在Windows中注册自定义的dll动态链接库 320

18.5.4 使用非VC应用程序调用自定义dll 320

18.5.5 实例小结 321

18.6 VARIANT类型 322

18.7 封装VARIANT类型:COleVariant类 323

18.8 实例18.2——使用Excel自动化的实例 325

18.8.1 准备工作:创建MFC 325

18.8.2 加入自动化代码 326

18.8.3 添加组件类 326

18.8.4 编写客户端宏脚本 329

18.9 小结 330

第19章 组件对象模型(COM) 331

19.1 什么是COM 331

19.2 COM接口 332

19.3 实例——COM的使用 333

19.3.1 使用VC6.0创建ATL COM应用程序 334

19.3.2 创建新的ATL对象 335

19.3.3 实现_IDTExtensibility2接口 335

19.3.4 通知Office并加载组件接口 337

19.3.5 导入Office接口文件 338

19.3.6 完成功能代码 338

19.3.7 运行效果和小结 340

19.4 COM的包容、集合和继承 341

19.5 小结 341

第20章 OLE DB 342

20.1 OLE DB对象模型 342

20.2 OLE DB模板的基本结构 343

20.3 OLE DB客户数据库访问的两种途径 344

20.3.1 以MFC AppWizard(exe)为向导建立OLE DB客户程序框架 344

20.3.2 以ATL COM AppWizard为向导建立OLE DB客户程序框架 346

20.4 小结 348

第五篇 软件研发实践 349

第21章 数据库编程基础 349

21.1 数据库开发技术简介 349

21.1.1 常用的几种数据库管理系统DBMS 349

21.1.2 关系代数与数据库SQL语言 350

21.1.3 规范化和数据库表设计常见的问题 352

21.1.4 ODBC、DAO和ADO技术简介 353

21.2 在VC6.0中使用ODBC进行数据库连接 353

21.2.1 ODBC概述 354

21.2.2 ODBC类的使用 354

21.2.3 ODBC数据库操作 356

21.3 在VC6.0中使用ADO进行数据库连接 357

21.3.1 ADO概述 357

21.3.2 ADO连接应用 357

21.3.3 ADO数据库操作 359

21.4 小结 361

第22章 数据库研发实践:家庭财务管理系统 362

22.1 提出问题:设计一个家庭财务管理系统 362

22.1.1 概要功能 362

22.1.2 界面需求 362

22.2 数据库设计 363

22.2.1 数据关系分析 363

22.2.2 E-R图设计 364

22.2.3 数据库表的生成 365

22.3 算法设计 366

22.3.1 连接数据库 366

22.3.2 添加数据 367

22.3.3 修改数据库内容 368

22.3.4 统计数据库信息 368

22.4 软件项目开发过程 368

22.4.1 开发家庭财务管理系统项目的流程 368

22.4.2 根据E-R图创建数据库表 368

22.4.3 功能研发的准备工作 371

22.4.4 实现算法设计 374

22.4.5 测试 377

22.5 小结 378

第23章 网络编程基础 379

23.1 TCP/IP简介 379

23.2 Windows Sockets基础 380

23.2.1 套接字概述 381

23.2.2 WinSock API常用函数 381

23.2.3 MFC对WinSock API的封装 382

23.3 B/S模式和C/S模式 382

23.3.1 什么是B/S和C/S模式 382

23.3.2 C/S与B/S的区别 383

23.4 局域网技术 384

23.4.1 网卡地址 384

23.4.2 获取计算机名称和IP 384

23.5 信息打包和发送 385

23.6 小结 386

第24章 网络编程研发实践:即时通信软件 387

24.1 网络编程实例:即时通信系统 387

24.1.1 功能需求 387

24.1.2 项目系统模型 388

24.1.3 系统设计思路 388

24.1.4 功能分析和设计难点 389

24.1.5 设计难点的解决方案 391

24.2 软件项目开发过程:服务器端应用程序 392

24.2.1 创建一个支持套接字的MFC服务器端程序 392

24.2.2 实现界面设计 393

24.2.3 定义类设计 394

24.2.4 实现类设计中的函数 396

24.2.5 实现界面功能按钮 403

24.2.6 测试 406

24.3 软件项目开发过程:客户端应用程序 407

24.3.1 创建一个支持套接字的MFC客户端程序 407

24.3.2 实现界面设计 407

24.3.3 定义类设计和实现类设计中的函数 408

24.3.4 实现界面功能按钮 408

24.3.5 测试 410

24.4 小结 410

第25章 仿3D游戏开发:推箱子游戏 411

25.1 目前的PC游戏种类简介 411

25.2 仿3D游戏:推箱子游戏开发的基础和概要设计 411

25.2.1 Win32 SDK程序基础 412

25.2.2 需求分析 413

25.2.3 游戏规则和效果 413

25.2.4 技术难点的解决方案 414

25.3 游戏项目开发过程 414

25.3.1 创建Win32应用程序 415

25.3.2 类设计 415

25.3.3 地图设计和读取 417

25.3.4 类的实现 418

25.3.5 Win32应用程序消息处理和场景显示 420

25.4 小结 422

附录 VC操作小技巧 423

相关图书
作者其它书籍
返回顶部