Visual C++从初学到精通

副标题:无

作   者:吕兵,曲宝军,王玮等编著

分类号:

ISBN:9787121106446

微信扫一扫,移动浏览光盘

简介

   本书介绍了如何使用Visual C++ 6.0编写Windows应用程序。全书内容   全面、结构清晰、由浅入深、注重实用,并结合了大量的实例,以方便读者   理解。本书既包含菜单、鼠标、键盘等基本操作,又包含图形编程、   Internet程序设计、数据库编程等高级主题。每章讲述一个主题,在展示知   识点的同时,提供具体的演示实例,最后两章详细讲解了两个综合实例,以   使读者对Visual C++编程技术有整体的认识。    本书适合大中专院校的学生、各类培训班学员、想从事Visual C++开发   的程序员,尤其是有一定C++基础,想进一步学习Windows编程的读者。   

目录

第一篇 visual c++基础

第1章 visual c++集成开发环境 28

本章主要介绍了visual c++的主要版本,以及如何安装visual c++ 6.0集成开发环境。通过创建hello world实例,让读者对visual c++有一个感性的认识。通过本章的学习,读者应当了解visual c++的发展历程、了解visual c++集成开发环境的安装、熟悉visual c++开发工具菜单和工具栏等。

1.1 visual c++的版本 28

1.2 安装visual c++ 6.0 29

1.3 visual c++集成开发环境 32

1.3.1 菜单栏 33

1.3.2 工具栏 37

1.3.3 工作区窗口 39

1.3.4 输出窗口 40

1.4 编写第一个程序hello world 40

1.4.1 创建hello world工程 41

1.4.2 编译并执行程序 42

1.5 小结 42

第2章 使用visual c++创建基本应用程序 43

本章主要介绍了visual c++工程,以及如何使用visual c++创建基本应用程序,通过创建基本应用程序实例,帮助读者加深对visual c++工程的理解。通过本章的学习,读者应当理解visual c++工程及其工程文件的意义,掌握各种应用程序框架的创建方法。

2.1 理解visual c++工程 43

2.2 visual c++中应用程序的类型 44

2.2.1 控制台应用程序 44

2.2.2 基于对话框的应用程序 45

.2.2.3 单文档应用程序 45

2.2.4 多文档应用程序 45

2.2.5 基于html文档的应用程序 45

2.3 创建应用程序框架 46

2.3.1 创建基于对话框的应用程序 46

2.3.2 创建单文档应用程序 47

2.3.3 创建多文档应用程序 49

2.3.4 创建基于html的应用程序 50

2.4 小结 51

第3章 面向对象程序设计基础 52

本章主要介绍面向对象编程及程序异常处理的基础知识。面向对象编程具有抽象、封装、继承和多态四个主要特征。面向对象程序设计围绕现实世界的概念来组织模块,采用对象来描述问题空间的实体,用程序代码模拟现实世界中真实或抽象的对象。

3.1 面向过程与面向对象 52

3.1.1 面向过程的问题 52

3.1.2 面向对象的特性 53

3.2 c++类的基本概念 53

3.2.1 结构体与类 53

3.2.2 类与对象 55

3.2.3 类的声明、定义和实现 55

3.2.4 成员变量 57

3.2.5 成员函数 58

3.2.6 静态成员 60

3.2.7 this指针 61

3.3 构造函数 63

3.3.1 使用构造函数的原因 63

3.3.2 构造函数的使用 63

3.3.3 重载构造函数 66

3.3.4 析构函数 67

3.4 继承 69

3.4.1 继承的概念 69

3.4.2 继承的工作机制 69

3.4.3 公有继承 70

3.4.4 私有继承 72

3.4.5 保护继承 73

3.4.6 多重继承 75

3.5 异常处理 77

3.5.1 异常的概念 77

3.5.2 异常处理机制 77

3.5.3 基本异常处理方法 78

3.5.4 多个异常处理方法 80

3.6 小结 82

第4章 visual c++调试技术 83

本章介绍了在visual c++环境下,如何调试程序及visual c++中的各种调试工具的使用。通过本章的学习,读者应对visual c++环境有更深入的了解,可以利用多种调试工具调试程序。visual c++虽然提供了强大的调试工具,但一个好的程序员不应该把所有的判断交给编译器和调试器,而是应该在程序中自己加以程序保护和错误定位。

4.1 debug与release 83

4.2 调试的过程 84

4.2.1 设置断点 84

4.2.2 控制程序的运行 86

4.3 使用查看工具 86

4.3.1 弹出式调试信息泡泡 87

4.3.2 变量窗口 87

4.3.3 观察窗口 87

4.3.4 快速查看窗口 88

4.3.5 内存查看窗口 88

4.3.6 寄存器窗口 88

4.3.7 调用堆栈窗口 89

4.4 其他调试技术 89

4.4.1 trace宏 89

4.4.2 assert宏 90

4.4.3 verify宏 90

4.5 小结 90

第二篇 windows编程

第5章 windows程序设计 92

通过本章的学习,读者可以掌握windows应用程序设计的一些基本概念与基本原理,进一步理解windows应用程序的内部运行机制,为接下来进一步学习利用底层api函数或高层的mfc类库来构造windows应用程序打下基础。

5.1 windows编程简介 92

5.1.1 windows api概述 92

5.1.2 windows应用程序中的常用术语 95

5.2 windows应用程序运行机制 97

5.2.1 生成windows应用程序框架 97

5.2.2 在windows应用程序中添加代码 97

5.2.3 编译并执行程序 100

5.3 程序入口:winmain()函数 100

5.3.1 winmain()函数的定义 101

5.3.2 定义和注册窗口类 102

5.3.3 创建窗口 103

5.3.4 显示和更新窗口 104

5.3.5 消息循环 104

5.4 窗口过程函数和消息处理 106

5.4.1 窗口过程函数 106

5.4.2 常用消息的处理 108

5.5 小结 110

第6章 mfc编程概述 111

本章首先概要叙述了mfc框架,然后通过基于mfc框架的单文档应用程序详细介绍了mfc框架的层次结构,并在此基础上剖析了mfc框架的运行机制,包括设计窗口类、注册窗口类、创建窗口、显示和更新窗口、消息循环,以及一个默认的窗口处理过程。

6.1 mfc概述 111

6.1.1 mfc设计原理 111

6.1.2 mfc特点 112

6.1.3 mfc appwizard向导 112

6.2 mfc层次结构设计 114

6.2.1 单文档应用程序的构成 114

6.2.2 cobject类 116

6.2.3 ccmdtarget类 116

6.2.4 应用和线程类 117

6.2.5 窗口类 117

6.2.6 文档视图类 118

6.3 mfc框架程序分析 118

6.3.1 theapp全局对象 119

6.3.2 winmain()函数 121

6.3.3 afxwininit()函数 122

6.3.4 initapplication()函数 123

6.3.5 initinstance()函数 124

6.3.6 loadframe()函数 128

6.3.7 run()函数 131

6.3.8 终止应用程序 133

6.4 小结 133

第7章 mfc消息映射与消息传递机制 134

本章首先介绍了消息的一般种类,然后通过一个单文档类型的应用示例进一步挖掘mfc框架的消息映射机制,介绍了消息如何把相关信息放入消息映射数组中,并和相应的响应函数产生关联。最后介绍了几种常用的消息映射宏。

7.1 消息概述 134

7.1.1 队列消息和非队列消息 134

7.1.2 系统消息和应用程序消息 135

7.1.3 窗口消息、命令消息和控件通知 135

7.2 mfc消息映射机制 136

7.2.1 mfc消息处理 137

7.2.2 一个应用程序的消息映射分析 137

7.2.3 mfc消息映射的实现方法 139

7.2.4 消息映射宏的种类 142

7.3 小结 143

第8章 图形编程 144

本章首先讲述了mfc中关于gdi及绘图的相关知识,其主要内容包括:gdi、设备环境及其相关类、gdi对象、绘制简单图形、映射模式等内容,然后简单说明了在窗口中进行文本编辑的基本知识,最后通过一个简单实例对滚动条在视窗中的基本操作进行了描述。

8.1 绘制图形的相关知识 144

8.1.1 图形设备接口 144

8.1.2 逻辑空间和设备空间 145

8.1.3 设备环境 145

8.1.4 一个简单的图形程序 145

8.2 设备环境的相关类 147

8.2.1 cdc类 147

8.2.2 cpaintdc类 149

8.2.3 cclientdc类 151

8.2.4 cwindowdc类 152

8.3 gdi对象 153

8.3.1 gdi对象的种类 153

8.3.2 gdi对象的生命周期 153

8.4 绘制图形 155

8.4.1 绘制线条 156

8.4.2 绘制矩形 157

8.4.3 绘制椭圆 158

8.4.4 其他绘图方式 159

8.5 映射模式 162

8.5.1 坐标转换 162

8.5.2 映射模式 166

8.6 文本编程 168

8.6.1 插入符 168

8.6.2 文本的输入与显示 170

8.7 滚动视窗 175

8.7.1 滚动条 175

8.7.2 滚动视窗应用实例 176

8.8 小结 180

第9章 位图编程 181

本章首先阐述了mfc中位图的种类,然后讨论了如何利用cbitmap类来创建并使用设备相关类位图,特别是利用内存设备环境实现消除因多次重绘造成的闪烁现象。然后对调色板的种类、操作及事件进行了详细介绍。最后对设备无关类图的文件结构及操作进行了阐述,并对一个visual c++中的新功能cimage类进行了简述。

9.1 位图的种类 181

9.2 位图的显示 182

9.2.1 创建位图对象 182

9.2.2 加载和设置位图内容 183

9.2.3 显示位图 185

9.2.4 创建一个动画实例 186

9.3 调色板 190

9.3.1 调色板的种类 190

9.3.2 调色板的操作 190

9.3.3 调色板的事件 192

9.4 设备无关类位图 193

9.4.1 bmp图像文件的结构 193

9.4.2 位图操作 195

9.4.3 cimage类 198

9.5 小结 200

第10章 对话框 201

本章首先介绍了windows系统中一些常用的基本控件,并介绍了在对话框这个大容器里如何创建这些基本控件,同时简单阐述了几种常用的控件消息。在充分了解控件的基础上,分别介绍了模态和非模态对话框的创建。然后详细阐述了对话框的ddx和ddv机理,并通过一个简单实例进一步加深对其的理解。接下来结合一个实例对树形视图和列表视图控件进行了简单介绍,最后详细讨论了属性表单的概念、创建及处理等内容。

10.1 控件 201

10.1.1 常用控件介绍 201

10.1.2 控件的创建 202

10.1.3 控件的消息 204

10.2 对话框的创建 207

10.2.1 模态对话框的创建 207

10.2.2 非模态对话框的创建 210

10.3 对话框数据交换和验证 212

10.3.1 数据交换 212

10.3.2 数据验证 215

10.3.3 创建一个图形显示实例 216

10.4 树形视图和列表视图控件 219

10.4.1 树形视图控件 219

10.4.2 列表视图控件 221

10.4.3 创建一个通讯录实例 224

10.5 属性表单和向导的创建 227

10.5.1 创建属性页 227

10.5.2 创建属性表单 229

10.5.3 创建向导 231

10.5.4 创建一个可动态添加记录的通讯录 235

10.6 小结 239

第11章 应用程序界面的定制 240

本章首先介绍了如何自定义应用程序的窗口界面,并介绍了修改程序窗口的图标、光标和背景的实现方法。然后对windows应用程序的窗口界面的三要素:菜单、工具栏和状态栏进行了详细的介绍,包括菜单的创建、快捷菜单、动态动态更改菜单、工具栏的创建及状态栏的创建。并通过实例进一步理解如何对应用程序的界面进行定制。

11.1 自定义应用程序的窗口界面 240

11.2 菜单 243

11.2.1 菜单的创建 243

11.2.2 mfc中的菜单消息 244

11.2.3 快捷菜单 246

11.2.4 动态更改菜单 248

11.2.5 手工添加菜单的消息响应 251

11.3 工具栏 252

11.3.1 在工具栏上更改按钮 253

11.3.2 创建和初始化工具栏 253

11.4 状态栏 256

11.4.1 状态栏的创建 256

11.4.2 在状态栏上显示系统时间 258

11.5 小结 260

第12章 文件操作 261

本章主要讨论了与文件操作相关的内容,主要包括两大块:第一是利用api函数进行文件的读写操作及其他常用操作;第二是利用mfc中的一个基类cfile的成员函数进行文件的读写操作及其他常用操作。其中,还单独介绍了如何利用cfiledialog类创建文件对话框,该对话框主要包括“打开”对话框和“另存为”对话框。

12.1 api文件操作 261

12.1.1 文件的创建和打开 261

12.1.2 文件的读写 262

12.1.3 文件的读写实例 264

12.1.4 其他文件操作 266

12.2 mfc文件操作 267

12.2.1 cfile类简介 267

12.2.2 文件的读写 269

12.2.3 cfiledialog类 270

12.2.4 其他文件操作 273

12.3 小结 275

第13章 文档、视图和框架 276

本章首先介绍了文档/视图结构的基本概念,并通过单文档类和多文档类应用程序来分析文档/视图结构中各类之间的关系。然后分别对框架、文档和视图进行了详细介绍。接下来又介绍了分割式窗口,并对静态分割窗口和动态分割窗口运用实例进行了详细介绍。最后对文档的串行化及carchive对象进行了详细介绍,并利用一个绘图实例来进一步介绍实现串行化需要的操作。

13.1 文档/视图简介 276

13.1.1 文档/视图的基本概念 276

13.1.2 两类文档/视图结构分析 277

13.2 框架 281

13.2.1 框架窗口的组成 281

13.2.2 多文档框架类中的常用函数 284

13.3 文档 286

13.3.1 对视图的管理 286

13.3.2 新建或打开文档 288

13.3.3 文档的保存和关闭 290

13.4 视图 290

13.4.1 cview类 291

13.4.2 视图对象的创建 293

13.5 分割式窗口 295

13.5.1 创建静态分割窗口 296

13.5.2 创建动态分割窗口 300

13.6 文档与串行化 302

13.6.1 carchive类和cfile类 302

13.6.2 文档串行化 304

13.6.3 类串行化 305

13.6.4 串行化实例 306

13.7 小结 310

第14章 进程和线程 311

本章首先讲解了进程与线程的基本概念及其基本操作,然后对win32进程的创建和终止,以及子程序的创建进行了详细阐述,紧接着介绍了win32线程和mfc线程处理的相关函数,并以一个多线程操作实例进一步讲解了线程的应用。在多线程处理过程中介绍了如何使用同步对象来实现多线程的同步,以及多个同步对象在多线程中的实现。

14.1 进程和线程的基本概念 311

14.1.1 进程 311

14.1.2 线程 313

14.2 win32的进程处理 313

14.2.1 进程的创建和终止 313

14.2.2 进程的终止 315

14.2.3 进程信息的获取 315

14.2.4 子进程的创建 317

14.3 win32的线程处理 319

14.3.1 线程的创建 319

14.3.2 线程的终止 320

14.3.3 线程的优先级别 320

14.3.4 多线程实例 321

14.4 mfc的线程处理 327

14.4.1 线程的创建与终止 328

14.4.2 线程的消息循环 330

14.5 线程同步 331

14.5.1 同步对象 332

14.5.2 多个同步对象的应用 337

14.6 小结 340

第三篇 数据库编程

第15章 visual c++数据库开发技术概述 342

通过本章的学习,读者对visual c++的各种数据库开发技术有了大体了解。后面的章节将对各种技术作详细的讲解,并通过一个简单的通讯录实例讲述应用各种技术进行数据库应用程序开发的步骤。各种技术都用同一个实例,这样读者可以更清楚地对各种技术进行比较。

15.1 visual c++数据库开发特点 342

15.2 visual c++中的数据库开发技术 343

15.2.1 odbc api技术 343

15.2.2 mfc odbc技术 343

15.2.3 dao技术 343

15.2.4 ole db技术 343

15.2.5 ado技术 344

15.3 小结 344

第16章 odbc api编程 345

通过本章的学习,读者可以较清楚地了解odbc api编程技术。本章首先介绍了odbc的基本概念和组成结构;然后介绍了创建数据源的方法及odbc api编程的一般步骤;最后通过实例具体说明了如何使用odbc api对数据库进行操作。

16.1 odbc简介 345

16.2 使用odbc api进行数据库开发 345

16.2.1 创建odbc数据源 346

16.2.2 分配环境句柄 347

16.2.3 分配连接句柄 347

16.2.4 使用sqlconnect连接数据源 348

16.2.5 使用sqldriveconnect连接数据源 349

16.2.6 使用sqlbrowseconnect连接数据源 351

16.2.7 准备并执行sql操作 353

16.2.8 获取结果集 353

16.2.9 断开数据源连接并释放环境句柄 355

16.3 使用odbc api实现通讯录 355

16.3.1 数据库设计 355

16.3.2 添加数据源 356

16.3.3 界面设计 356

16.3.4 创建工程 356

16.3.5 添加类 357

16.3.6 创建数据库操作类 359

16.3.7 系统主界面 362

16.3.8 显示联系人信息 364

16.3.9 删除联系人信息 365

16.3.10 添加联系人信息 366

16.3.11 修改联系人信息 367

16.4 小结 367

第17章 mfc odbc编程 368

通过本章的学习,读者可以较清楚地了解mfc odbc编程技术。本章首先对mfc odbc技术进行了简要介绍;然后详细介绍了cdatabase类、crecordset类的使用方法;最后通过简单的通讯录实例,具体说明了如何使用mfc odbc对数据库进行操作。

17.1 mfc odbc简介 368

17.2 cdatabase类 368

17.2.1 连接数据源 369

17.2.2 执行sql语句 370

17.2.3 事务处理 370

17.2.4 断开数据源连接 371

17.3 crecordset类 371

17.3.1 记录集的分类 371

17.3.2 记录字段交换(rfx) 372

17.3.3 创建记录集类 372

17.3.4 记录集类成员变量 373

17.3.5 打开、关闭记录集 374

17.3.6 在记录集中滚动 374

17.3.7 添加记录 375

17.3.8 修改记录 376

17.3.9 删除记录 376

17.4 使用mfc odbc实现通讯录 376

17.4.1 创建工程 377

17.4.2 系统主界面 378

17.4.3 显示联系人信息 380

17.4.4 删除联系人信息 381

17.4.5 添加联系人信息 382

17.4.6 修改联系人信息 384

17.5 小结 385

第18章 mfc dao编程 386

通过本章的学习,读者可以较清楚地了解mfc dao编程技术。本章首先对mfc dao技术进行了简要介绍;然后详细介绍了cworkspace类、cdaodatabase类、cdaorecordset类的使用方法;最后通过简单的通讯录实例,具体说明了如何使用mfc dao对数据库进行操作。

18.1 dao简介 386

18.1.1 dao内部结构 386

18.1.2 mfc与dao 387

18.2 cdaoworkspace类 388

18.2.1 cdaoworkspace类简介 388

18.2.2 cdaoworkspace类数据成员 389

18.2.3 显示打开工作区 389

18.2.4 cdaoworkspace类常用函数 390

18.3 cdaodatabase类 391

18.3.1 cdaodatabase类简介 391

18.3.2 cdaodatabase类数据成员 391

18.3.3 新建数据库 391

18.3.4 打开数据库 393

18.3.5 关闭数据库 394

18.3.6 cdaodatabase类常用函数 394

18.4 cdaorecordset类 395

18.4.1 cdaorecordset类简介 395

18.4.2 cdaorecordset类数据成员 396

18.4.3 新建记录集 396

18.4.4 添加记录 397

18.4.5 修改记录 399

18.4.6 删除记录 400

18.4.7 cdaorecordset类常用函数 402

18.5 使用mfc dao实现通讯录 403

18.5.1 创建工程 403

18.5.2 添加cdaorecordset类 404

18.5.3 系统主界面 405

18.5.4 显示联系人信息 407

18.5.5 删除联系人信息 408

18.5.6 添加联系人信息 410

18.5.7 修改联系人信息 411

18.6 小结 412

第19章 ole db编程 413

通过本章的学习,读者可以较清楚地了解ole db编程技术。本章首先介绍了ole db的组成结构、对象模型及特点等基本知识,然后讲述了如何开发atl ole db应用程序。

19.1 ole db简介 413

19.1.1 通用数据访问 413

19.1.2 ole db的结构 414

19.1.3 ole db 模板、属性 414

19.2 开发atl ole db应用程序 415

19.2.1 创建应用程序架构 415

19.2.2 添加对客户模板的支持 415

19.2.3 修改clinkinfo类 416

19.2.4 系统主界面 418

19.2.5 显示联系人信息 420

19.2.6 删除联系人信息 420

19.2.7 添加联系人信息 421

19.2.8 修改联系人信息 422

19.3 小结 423

第20章 ado编程 424

本章首先介绍了ado对象模型,并对各个对象进行了详细的介绍,然后详细地讲解了ado编程的两种方法。最后通过简单的通信录实例,具体说明了如何使用ado对数据库进行操作。通过本章的学习,读者可以较清楚地了解ado编程技术。

20.1 ado简介 424

20.1.1 ado 对象模型 424

20.1.2 connection对象 425

20.1.3 command对象 425

20.1.4 recordset对象 426

20.1.5 parameter对象 428

20.1.6 field对象 428

20.1.7 property对象 429

20.1.8 error对象 429

20.1.9 开发ado应用程序的方法 430

20.2 使用activex控件开发ado应用程序 430

20.2.1 创建工程 430

20.2.2 添加ado的activex控件 431

20.2.3 添加datagrid控件 432

20.2.4 运行程序 433

20.3 使用ado对象控件开发应用程序 433

20.3.1 引入ado库文件 434

20.3.2 初始化com环境 434

20.3.3 ado智能指针 434

20.3.4 连接数据库 435

20.3.5 打开记录集 436

20.3.6 在记录集中移动 437

20.3.7 访问记录集中的数据 437

20.4 使用ado实现通信录 439

20.4.1 创建工程 439

20.4.2 系统主界面 439

20.4.3 显示联系人信息 441

20.4.4 删除联系人信息 443

20.4.5 添加联系人信息 445

20.4.6 修改联系人信息 446

20.5 小结 447

第四篇 网络通信编程

第21章 visual c++网络编程基础 450

本章简要介绍了网络编程相关的概念和基本知识,是本书网络编程部分的基础。通过本章的学习,读者应该了解常用的网络协议,了解套接字、客户机/服务器模式、网络字节顺序、半相关、全相关等网络编程相关的基本概念,并了解visual c++对进行网络编程所提供的支持。

21.1 网络协议 450

21.1.1 osi参考模型 450

21.1.2 tcp/ip参考模型 451

21.2 网络编程相关概念 452

21.2.1 客户机/服务器模式 452

21.2.2 套接字 452

21.2.3 网络字节顺序 452

21.2.4 半相关与全相关 453

21.3 visual c++对网络编程的支持 453

21.3.1 windows socket api 453

21.3.2 mfc winsock类 453

21.3.3 wininet支持 454

21.3.4 mapi支持 454

21.3.5 isapi支持 454

21.4 小结 455

第22章 windows socket api编程 456

windows socket api为windows下网络通信提供了一种强大的开发和运行环境,windows sockets已成为windows下标准的网络程序设计接口。本章主要讲述了windows sockets相关的概念及主要函数,并通过聊天室的实例,讲述了如何利用windows sockets进行网络程序的开发。

22.1 windows sockets概述 456

22.1.1 windows sockets的发展 456

22.1.2 windows sockets的类型 457

22.1.3 windows sockets扩展 457

22.1.4 套接字编程模型 458

22.2 windows socket api主要函数 459

22.2.1 初始化winsock 460

22.2.2 创建套接字 460

22.2.3 绑定地址 461

22.2.4 将套接字设置为监听状态 462

22.2.5 发送连接请求 463

22.2.6 接受连接请求 464

22.2.7 发送数据 465

22.2.8 接收数据 465

22.2.9 关闭套接字 466

22.2.10 关闭加载的套接字库 466

22.2.11 确定套接字状态 466

22.3 windows socket api编程步骤 467

22.3.1 引入所需文件 467

22.3.2 服务器端编程 468

22.3.3 客户端编程 469

22.4 基于winsock的简单聊天室的实现 470

22.4.1 系统总体设计 470

22.4.2 创建服务器端工程 471

22.4.3 添加服务器端代码 472

22.4.4 服务器线程 474

22.4.5 创建客户端工程 475

22.4.6 添加客户端代码 475

22.4.7 客户端线程 476

22.5 小结 477

第23章 mfc socket编程 478

本章首先对casyncsocket类、csocket类的成员函数与变量进行了详细介绍,然后介绍了winsock类的一般编程步骤,最后通过一个简单文件发送实例演示了如何使用csocket类进行网络编程。通过本章的学习,读者可以对winsock类的成员函数、变量及编程步骤有深入了解,较清楚地了解winsock类编程技术。

23.1 casyncsocket类 478

23.1.1 成员变量和构造函数 478

23.1.2 绑定地址 479

23.1.3 将套接字设置为监听状态 480

23.1.4 发送连接请求 481

23.1.5 接受连接请求 482

23.1.6 控制套接字模式 483

23.1.7 发送数据 483

23.1.8 接收数据 485

23.1.9 断开数据传输 487

23.1.10 关闭套接字 487

23.1.11 网络事件处理 488

23.1.12 属性函数 488

23.1.13 消息处理函数 492

23.2 csocket类 493

23.2.1 构造函数 493

23.2.2 属性函数 494

23.2.3 操作函数 495

23.2.4 消息处理函数 495

23.3 编程模型 495

23.3.1 casyncsocket类编程模型 495

23.3.2 csocket类编程模型 496

23.4 利用csocket类实现文件传输 497

23.4.1 系统总体设计 497

23.4.2 创建工程 498

23.4.3 发送程序代码 498

23.4.4 接收程序代码 500

23.5 小结 502

第24章 wininet编程 503

通过本章的学习,读者可以较清楚地了解wininet编程技术。本章首先介绍了wininet的基本概念、wininet api主要函数及mfc wininet类,最后通过一个简单的ftp客户端实例,演示了如何使用wininet类进行internet客户端编程。

24.1 wininet api简介 503

24.1.1 通用wininet api函数 503

24.1.2 http函数 504

24.1.3 ftp函数 505

24.1.4 gopher函数 506

24.2 mfc wininet类 506

24.2.1 cinternetsession类 506

24.2.2 cinternetconnection类 508

24.2.3 chttpconnection类 509

24.2.4 cftpconnection类 510

24.2.5 cgopherconnection类 511

24.2.6 cinternetfile类 512

24.2.7 chttpfile类 513

24.2.8 cgopherfile类 515

24.2.9 cfilefind类 515

24.2.10 cftpfilefind类 516

24.2.11 cgopherfilefind类 517

24.2.12 cgopherlocator类 518

24.2.13 cinternetexception类 518

24.3 用wininet类进行编程 518

24.3.1 http客户端编程步骤 519

24.3.2 ftp客户端编程步骤 520

24.3.3 gopher客户端编程步骤 521

24.4 利用wininet类实现ftp客户端 521

24.4.1 系统总体设计 521

24.4.2 创建工程 522

24.4.3 连接ftp服务器 523

24.4.4 获取当前目录所有文件 524

24.4.5 返回上级目录 524

24.4.6 下载文件 525

24.4.7 上传文件 526

24.5 小结 526

第五篇 windows组件编程

第25章 编写动态链接库 528

在windows系统中动态链接库随处可见,动态链接库是windows编程中很重要的一部分,尤其是对于大型的应用程序,往往需要将很多功能封装在动态链接库中。本章比较全面地介绍了动态链接库的基本理论和概念,并以实例的形式演示了动态链接库的编写与使用。

25.1 动态链接库简介 528

25.1.1 静态链接与动态链接 528

25.1.2 动态链接库的优点 529

25.2 创建动态链接库 529

25.2.1 创建工程 529

25.2.2 添加代码 530

25.2.3 从dll导出 531

25.2.4 函数匹配 533

25.2.5 dll入口函数 533

25.3 使用动态链接库 534

25.3.1 一个使用dll的例子 534

25.3.2 隐式调用和显式调用 535

25.4 动态链接库实例——读写配置文件 536

25.4.1 创建工程 536

25.4.2 设置头文件 537

25.4.3 读取一行数据 538

25.4.4 设置一行数据 539

25.4.5 读取多行数据 540

25.4.6 设置多行数据 541

25.5 小结 543

第26章 使用与编写activex控件 544

activex控件是基于组件对象模型(com)的可重用软件组件,它支持广泛的ole功能并可自定义以满足多种软件的需要。activex控件可以在自己的窗口中对自身进行描述,对事件(如单击鼠标)做出响应,并且可以通过包括属性和方法的接口进行管理,这些属性和方法与自动化对象中的属性和方法相似。本章还介绍了activex控件相关的一些基本概念,通过本章的学习,读者应该能够掌握如何创建和测试简单的activex控件。

26.1 activex控件简介 544

26.1.1 activex控件的发展 544

26.1.2 activex控件属性、事件和方法 545

26.1.3 mfc对activex控件的支持 546

26.2 使用activex控件 546

26.2.1 浏览activex控件 546

26.2.2 在工程中添加activex控件 547

26.2.3 设置activex控件属性 548

26.2.4 使用activex控件类 548

26.3 编写activex控件 549

26.3.1 创建activex工程 549

26.3.2 绘制控件 552

26.3.3 添加控件属性 553

26.3.4 添加控件方法 554

26.3.5 添加控件事件 554

26.3.6 注册activex控件 555

26.3.7 测试activex控件 557

26.4 小结 558

第六篇 综合实例

第27章 人事管理系统的设计与实现 560

本章通过一个人事管理系统的实例,展示了visual c++技术的综合应用,就该系统本身而言,许多细节考虑还不够周密,功能还很不完善,如没有实现部门信息的管理、职位的管理等。本章旨在通过一个实例,使读者对visual c++编程技术有一个整体的认识。

27.1 系统总体设计 560

27.1.1 系统功能 560

27.1.2 数据库设计 561

27.2 系统的实现 563

27.2.1 创建工程 563

27.2.2 应用程序主框架 564

27.2.3 连接、断开数据库 565

27.2.4 用户登录模块 566

27.2.5 系统主界面 567

27.2.6 添加新员工模块 568

27.2.7 修改员工信息模块 571

27.2.8 出勤记录管理模块 576

27.2.9 请假记录管理模块 580

27.2.10 加班记录管理模块 584

27.2.11 出差记录管理模块 588

27.3 小结 592

第28章 聊天室的设计与实现 593

通过本章所讲解的内容,使读者了解了聊天程序的具体编写过程。本章的程序只是一个聊天室的示例,并不是一个完善的、功能齐全的聊天室软件,旨在使读者了解visual c++网络编程的原理和步骤。感兴趣的读者可以在此基础上进行扩充,以编写出功能更强大的聊天室软件。

28.1 聊天室程序功能说明 593

28.1.1 服务器端功能介绍 593

28.1.2 客户端功能介绍 593

28.1.3 消息类的定义 594

28.2 服务器端应用程序 595

28.2.1 建立服务器应用程序框架 595

28.2.2 侦听套接字类 596

28.2.3 客户套接字类 597

28.2.4 服务器主界面类 599

28.3 客户端应用程序 601

28.3.1 客户端套接字类 602

28.3.2 客户端主界面类 602

28.4 小结 606


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Visual C++从初学到精通
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    亲爱的云图用户,
    光盘内的文件都可以直接点击浏览哦

    无需下载,在线查阅资料!

    loading icon