Visual C++6编程宝典

副标题:无

作   者:(美)David Simon,周瑜萍等编著

分类号:

ISBN:9787121006876

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

简介

  本书特色:   ·从常规主题入手,逐步深入高级领域,各项技术逐一开讲   ·近百个实例,上万行代码,既可直接借鉴,又可举一反三   ·讲述技术来源于实践,贴近开发人员的日常工作    Visual C++语言虽然在从业人员的数量上不占绝对优势,但究其性能无其他语言能其右。学习本书,必将俯到其中的美妙之处。    本书介绍了如何使用Visual C++ 6编程语言编写Windows应用程序。本书的作者具备多年的Windows应用程序开发经验,是一些程序开发的高手。他们将带领读者从基本的集成开发环境与调试环境的学习入手,进而学习菜单和鼠标、图形、对话框的设计,最后进入Internet程序设计和数据库连接等高级主题。如果你对面向对象的程序开发有所了解,并想学习或进一步提高Visual C++方面的开发知识与技巧,那将从书中获得启迪,有所收益。    本书适合初、中级软件开发人员及广大计算机编程方面的爱好者。   

目录

第1部分 visualc++基础

第1章 visualc++入门

1.1 visualc++6.0的新特性

1.2 helloworld1程序

1.3 helloworld2程序

1.4 helloworld3atl控件

1.5 小结

第2章 visual studio集成开发环境

2.1 初识visual studio集成开发环境

2.2 创建第一个项目

2.3 自定义集成开发环境,

2.3.1 查看当前快捷键

2.3.2 增加、编辑或删除快捷键

2.4 使用工具栏

2.4.1 显示和隐藏工具栏

2.4.2 自定义工具栏

2.5 小结

第3章 应用程序的调试

3.1 调试程序应该具备的性能

3.2 visual studio集成调试程序

.3.2.1 调试前的准备

3.2.2 在运行时使用调试程序

3.2.3 调试窗口

3.2.4 使用断点和单步调试功能

3.2.5 使用datatip信息以及quick watch窗口

3.2.6 在调试过程中使用threads和exceptions对话框

3.3 简单调试技巧

3.3.1 使用消息框提高调试速度

3.3.2 调试输出

3.3.3 使用断言

3.3.4 对象转储

3.3.5 检测内存泄漏与cmemorystate类

3.3.6 使用mfc跟踪

3.4 远程调试

3.5 即时调试

3.5.1 编辑并继续调试

3.5.2 调试windows nt服务

3.6 小结

第4章 改善应用程序性能

4.1 优化代码

4.2 配置文件简介

4.2.1 应用程序配置文件的基本知识

4.2.2 了解profiler的运行情况

4.2.3 配置文件类型

4.2.4 设置高级配置文件设置

4.3 启用生成配置文件功能

4.3.1 从开发环境控制配置文件的生成

4.3.2 选择需要生成配置文件的函数

4.3.3 prep程序

4.3.4 生成函数计时配置文件

4.3.5 生成函数范围配置文件

4.3.6 行配置文件的选项

4.3.7 生成行范围配置文件

4.3.8 合并配置文件输出

4.3.9 从配置文件导出数据

4.3.10 分析配置文件数据

4.3.11 全局信息记录

4.3.12 局部信息记录

4.3.13 分析配置文件的统计数据

4.3.14 使用excel处理profiler输出

4.3.15 生成动态链接库的配置文件

4.3.16 生成组件或activex控件的配置文件

4.3.17 生成内联代码的配置文件

4.3.18 生成多线程应用程序的配置文件

4.3.19 生成应用程序性能的配置文件

4.3.20 生成windowsnt服务的配置文件

4.4 小结

第5章 杂项工具

5.1 spy++

5.2 自定义tools菜单

5.3 有关tools菜单的其他操作

5.4 浏览类

5.5 浏览mfc源代码

5.6 小结

第2部分 windows编程基础

第6章 mfc编程概述

6.1 什么是mfc

6.2 mfc的设计原理

6.3 mfc的优势

6.3.1 众多mfc特性

6.3.2 可扩展的体系结构

6.4 mfc层次结构设计

6.4.1 文件服务

6.4.2 窗口

6.4.3 图形

6.4.4 数据库支持

6.5 mfc的局限

6.6 小结

第7章 菜单

7.1 创建和编辑菜单

7.1.1 创建菜单

7.1.2 mfc中的菜单消息

7.2 快捷键

7.2.1 检查键盘输入

7.2.2 定义快捷键

7.2.3 选择适当的快捷键

7.2.4 多个快捷键表

7.3 动态更改菜单

7.3.1 菜单命令范围

7.3.2 在运行时更改菜单

7.3.3 更改现有弹出菜单

7.3.4 永久及临时句柄映射

7.4 快捷菜单

7.5 小结

第8章 鼠标和键盘

8.1 输入及系统状态

8.2 鼠标输入

8.2.1 创建鼠标消息处理程序

8.2.2 屏幕坐标和窗口坐标之间的转换

8.3 创建处理鼠标事件的mfc程序

8.3.1 非客户鼠标事件

8.3.2 更改光标

8.4 创建更改鼠标指针的mfc演示程序

8.4.1 捕获鼠标

8.4.2 限制鼠标移动

8.5 键盘输入

8.5.1 物理键盘

8.5.2 回显键盘焦点

8.6 小结

第9章 图形

9.1 图形设备接口

9.1.1 图形类型

9.1.2 gdi设备类型

9.2 设备上下文

9.2.1 设备上下文绘图属性

9.2.2 wm paint消息

9.2.3 绘制坐标

9.2.4 触发wlvl paint消息

9.2.5 响应wm paint之外的消息进行绘制

9.3 处理文本

9.3.1 gdi颜色支持

9.3.2 文本颜色

9.3.3 对齐文本

9.3.4 调整文本

9.4 字体

9.4.1 什么是字体

9.4.2 将对象选入设备上下文

9.4.3 选择常备字体

9.4.4 选择非常备字体

9.5 钢笔和画刷

9.5.1 钢笔

9.5.2 画刷

9.6 映射模式

9.7 光栅操作

9.7.1 文本绘图函数

9.7.2 文本坐标的计算

9.8 剪取区域

9.9 小结

第10章 位图、调色板、dib以及双缓存

10.1 位图内存和显存

10.2 创建cbitmap对象

10.3 加载和设置位图内容

10.4 将cbitmaps绘制到屏幕上

10.5 光栅操作

10.6 blitdemo程序

10.7 调色板和颜色

10.7.1 逻辑调色板

10.7.2 调色板事件

10.7.3 setsystempaletteuse()函数

10.8 设备无关位图

10.8.1 设备无关位图文件剖析

10.8.2 cdib类

10.8.3 showdib演示程序

10.9 双缓存

10.10 小结

第11章 mfc异常处理

11.1 结构化异常处理

11.2 异常处理语法

11.2.1 抛出异常

11.2.2 捕获异常

11.3 错误处理技巧

11.3.1 处理错误代码

11.3.2 在正确位置中处理错误

11.3.3 提高代码可读性

11.3.4 从构造函数中抛出异常

11.4 cexception类

11.4.1 创建和删除cexception对象

11.4.2 从cexception对象中检索错误信息

11.4.3 捕获多种异常类型

11.5 定义cexception派生类

11.5.1 cfileexception类

11.5.2 cfileexception演示程序

11.5.3 自定义cexception派生类

11.6 高级异常处理技术

11.6.1 确定应该捕获异常的函数

11.6.2 放置在try块中的代码

11.6.3 放置在catch块中的代码

11.6.4 从虚函数中抛出异常

11.7 小结

第12章 控件

12.1 控件的背景

12.2 创建控件

12.2.1 cbutton类

12.2.2 clistbox类

12.2.3 cedit类

12.2.4 cstatic类

12.2.5 cscrollbar类

12.2.6 ccombobox类

12.3 mini editor程序

12.4 高级控件编程

12.4.1 添加一个键盘接口

12.4.2 修改控件行为

12.4.3 位图按钮

12.4.4 更改控件的颜色

12.5 小结

第13章 模态和非模态对话框

13.1 使用对话框编辑器

13.1.1 对话框模板

13.1.2 创建新的对话框模板

13.1.3 编辑对话框模板

13.1.4 测试对话框

13.2 cdialog类

13.2.1 模态与非模态对话框

13.2.2 使用classwizard创建cdialog派生类

13.3 对话框数据交换和校验

13.3.1 创建ddx变量

13.3.2 dodataexchange和updatedata函数

13.4 addressbook演示程序

13.4.1 编辑演示程序的对话框

13.4.2 ccontact类

13.4.3 重写onlnitdialog函数

13.4.4 处理wm destroy消息

13.4.5 显示数据

13.4.6 处理按钮通知

13.4.7 建立和测试演示程序

13.5 在对话框中派生控件类

13.5.1 创建控件类

13.5.2 addressbook演示程序:cautocompletecombobox

13.6 串行化

13.6.1 使每个类可串行化

13.6.2 实现serialize()虚函数

13.6.3 从磁盘中读取数据

13.6.4 将数据保存到磁盘

13.6.5 给addressbook演示程序添加串行化

13.7 小结

第14章 属性表和属性页

14.1 cpropertysheet和cpropertypage类

14.1.1 创建属性页资源

14.1.2 创建cpropertypage类

14.1.3 创建和显示模态的cpropertysheet

14.1.4 创建和显示非模态的cpropertysheet

14.1.5 在一个现有对话框内创建和显示属性表

14.2 模态属性表演示程序

14.3 属性表和属性页提示和技巧

14.3.1 删除标准按钮

14.3.2 重定位标准按钮

14.3.3 更改标准按钮的标题

14.3.4 禁用选项卡

14.3.5 重新启用属性页

14.3.6 动态设置cpropertypage选项卡标题

14.3.7 更改选项卡的字体

14.3.8 使用cpropertypage选项卡助记符

14.4 小结

第15章 数据i/o

15.1 cstring类

15.1.1 创建字符串

15.1.2 访问字符串数据

15.1.3 比较运算

15.1.4 抽取子串

15.1.5 搜索

15.2 stringdcmo程序

15.3 cfile类

15.4 filedemo程序

15.5 ccompressedfile类

15.6 compressdemo程序

15.7 数据压缩

15.7.1 ccompressedfile类函数

15.7.2 compressdemo内幕

15.8 用于串行通信的cserial类

15.8.1 cserial类

15.9 cregistry类

15.9.1 注册表值

15.9.2 预定义的注册表键

15.9.3 常用注册表键

15.9.4 cregistry类的使用

15.10 剪贴板

15.11 小结

第16章 声音

16.1 播放录制好的声音

16.1.1 cwavc类简介

16.1.2 使用windows api播放波形文件

16.1.3 cwave类函数

16.2 wavedemo程序

16.3 播放midi文件

16.3.1 什么是midl

16.3.2 cmidi类简介

16.3.3 cmidi类函数

16.4 mididemo程序

16.5 音乐cd

16.5.1 ccdaudio类库简介

16.5.2 媒体控制接口

16.5.3 ccdaudio类函数

16.6 cdpiayer程序

16.7 小结

第17章 计时器和onldle循环处理

17.1 计时器

17.1.1 用wm timer设置计时器

17.1.2 用一个回调过程设置计时器

17.2 时钟演示程序

17.3 cwinapp的onldle能力

17.4 onldledemo程序

17.5 小结

第3部分 体系结构

第18章 内存管理

18.1 进程私有内存

18.1.1 分配页

18.1.2 编译器内存分配

18.1.3 win32私有堆

18.2 共享内存

18.2.1 内存映射文件i/o

18.2.2 动态分配共享页

18.2.3 静态分配共享页

18.3 小结

第19章 文档、视图和单文档界面

19.1 文档/视图设计

19.2 cdocument类

19.2.1 在应用程序内声明文档类

19.2.2 cdocument的成员函数

19.2.3 文档和消息处理

19.2.4 重写虚文档函数

19.2.5 使用复杂文档数据

19.2.6 使用ccmdtarget和cdocltem的好处

19.3 initlnstance函数对文档的重要性

19.3.1 应用程序如何管理文档和视图

19.3.2 csingledoctemplate类

19.3.3 框架窗口

19.3.4 文档模板资源

19.3.5 字符串资源如何影响文档模板

19.3.6 分离字符串资源

19.3.7 常备视图资源

19.3.8 考虑文档模板生存周期

19.3.9 模板的高级用法

19.3.10 使用多个模板

19.3.11 销毁用adddocternplate()成员函数添加的文档

19.4 cview类

19.4.1 声明视图类

19.4.2 分析cview成员函数

19.4.3 视图和消息

19.4.4 cview类的mfc派生变形

19.4.5 cform视图与基于对话框的应用程序

19.4.6 返回框架窗口

19.4.7 afxgetmainwnd()的角色

19.5 hexview应用程序

19.6 小结

第20章 多文档界面应用程序的布局

20.1 文档/视图模型

20.2 cdocument类

20.3 管理文档、视图和框架窗口的复杂组合

20.3.1 使用多文档类型

20.3.2 使用文档的多个视图

20.3.3 cmdiframewnd类

20.3.4 cmdichildwnd类

20.3.5 cmultidoctemplate类

20.3.6 使用cdocument类的开销

20.3.7 进一步认识mdi应用程序

20.4 paintobi程序

20.5 拆分窗口

20.5.1 区分拆分窗口

20.5.2 特定于csplitterwnd类的内容

20.5.3 动态拆分器

20.5.4 在动态窗格中使用不同的视图

20.5.5 cruntimeclass对象

20.5.6 对与多个文档关联的视图使用拆分器

20.5.7 静态拆分器

20.5.8 创建静态拆分器

20.5.9 了解共享滚动条

20.5.10 确定实际的和理想的尺寸

20.5.11 拆分器的性能问题

20.6 dynsplit程序

20.7 为窗口定义子类

20.7.1 使用mfc定义窗口子类

20.7.2 文档/视图体系结构的替代方案

20.8 小结

第21章 打印和打印预览

21.1 windows api打印机支持

21.1.1 打印机信息

21.1.2 理解字符特征的重要性

21.2 portland程序

21.3 使用mfc

21.3.1 打印过程中的任务和框架的角色

21.3.2 mfc打印序列

21.3.3 mfc默认打印方式

21.3.4 打印协议

21.3.5 取代视图类函数和分页

21.3.6 cprintlnfo类

21.3.7 打印机页和文档页

21.3.8 实现分页

21.3.9 添加帮助函数

21.3.10 打印时分页

21.3.11 页眉和页脚的打印

21.3.12 为打印分配gdi资源

21.3.13 扩大打印的图像

21.4 打印预览体系结构

21.4.1 打印预览过程

21.4.2 修改打印预览

21.4.3 增强应用程序的打印预览

21.4.4 cprintdialog类

21.5 hexviewmdi程序

21.6 小结

第22章 高级windows用户界面的mfc

22.1 更多的控制

22.2 理解模态循环

22.3 runmodalloop()函数

22.4 模态循环参数

22.5 终止模态循环

22.6 生成模态应用程序

22.7 创建和关闭模态窗口

22.7.1 添加处理程序

22.7.2 简单的模态应用程序

22.8 改进模态窗口

22.9 在透明客户区域绘制透明位图

22.9.1 绘制位图

22.9.2 确定粘贴位图的位置

22.9.3 兼容的设备上下文

22.9.4 bitmap结构

22.9.5 把所有图片叠加在一起

22.9.6 确保用户的注意力

22.10 小结

第23章 状态栏与工具栏

23.1 创建和使用状态栏

23.1.1 创建状态栏

23.1.2 自定义状态栏

23.2 创建和控制工具栏

23.2.1 mfc控件栏

23.2.2 创建和初始化工具栏

23.3 rebar控件

23a 小结

第24章 树视图和列表视图控件

24.1 ctreectrl类

24.1.1 树视图控件基础知识

24.1.2 ctreectrl控件

24.1.3 ctreectrl演示程序

24.2 clistctrl类

24.2.1 列表视图基础知识

24.2.2 clistctrl控件

24.3 小结

第25章 线程

25.1 线程

25.1.1 创建工作者线程

25.1.2 线程函数

25.1.3 创建用户界面线程

25.1.4 挂起和继续执行线程

25.1.5 使线程睡眠

25.1.6 终止线程

25.1.7 从一个线程中终止另一个线程

25.1.8 进程优先级类

25.2 在线程之间共享mfc对象

25.3 在多线程应用程序中使用c运行函数

25.4 threaddemol程序

25.5 小结

第4部分 数据库编程

第26章 odbc

26.1 odbc定义和数据库术语

26.2 odbc的实现

26.2.1 配置odbc

26.2.2 连接到数据源

26.2.3 查询数据和数据源

26.2.4 准备与执行sql请求

26.2.5 检索数据

26.2.6 断开与数据源的连接

26.3 使用odbc获取数据

26.3.1 为visualc++项目添加对odbc的支持

26.3.2 修改odbcdemo对话框

26.3.3 添加初始化和数据库代码

26.4 使用odbc动态查询数据源

26.4.1 codbcdynamic类声明

26.4.2 codbcdynamic类如何工作

26.4.3 使用codbcdynamic类

26.5 小结

第27章 mfc数据库类

27.1 cdatabase对象

27.2 crecordset对象

27.2.1 构造一个记录集

27.2.2 打开一个记录集

27.2.3 使用rfx(记录字段交换)读写数据

27.2.4 筛选记录

27.2.5 排序返回的记录集中的记录

27.2.6 在结果集合中移动

27.2.7 保存记录

27.2.8 删除记录

27.3 使用mfc数据库类

27.3.1 添加对mfc数据库类的支持

27.3.2 为演示程序创建用户界面

27.3.3 添加工具类封装用户数据

27.3.4 为表usermaster创建crecordset类

27.3.5 修改对话框的头文件

27.3.6 修改对话框的实现文件

27.4 参数化记录集与查询

27.4.1 为演示程序创建用户界面

27.4.2 创建usermaster记录集

27.4.3 修改crecordset类以接受参数

27.4.4 为应用程序添加查找功能

27.4.5 建立应用程序

27.4.6 创建参数化查询

27.4.7 演示数据库

27.4.8 创建权限记录集

27.5 小结

第28章 dao数据库编程

28.1 dao概览

28.1.1 dao层次结构

28.1.2 dao的多种内部形式

28.2 mfcdao类

28.2.1 cdaodatabase类

28.2.2 cdaoworkspace类

28.2.3 cdaorecordset类

28.2.4 mfcdao演示程序

28.3 小结

第5部分 扩展应用程序的功能

第29章 动态链接库

29.1 动态链接库概述

29.1.1 静态和动态库

29.1.2 加载dll

29.2 visualc++常规dll

29.2.1 常规dll

29.2.2 动态加载dll

29.2.3 动态加载dll的示例

29.2.4 windows异常分支

29.2.5 dll的全局c++对象

29.3 mfc扩展dll

29.3.1 扩展dll

29.3.2 通过mfc扩展dll导出类

29.3.3 afx ext class宏

29.3.4 嵌套的mfc扩展dll

29.3.5 导出资源

29.3.6 编写在dll中封装文档和视图的演示程序

29.4 小结

第30章 添加图像

30.1 第三方库

30.2 imageobject库

30.2.1 bmp文件格式

30.2.2 gif文件格式

30.2.3 jpeg文件格式

30.2.4 tga文件格式

30.2.5 tif文件格式

30.3 库加载图像

30.4 显示图像

30.5 display程序

30.6 缩放、裁剪和改变颜色深度

30.7 从设备上下文中创建图像

30.8 从剪贴板创建图像

30.9 保存图像

30.10 图像处理

30.11 processimage程序

30.12 小结

第6部分 组件对象模型编程

第31章 activex和activex控件设计

31.1 各种activex技术

31.1.1 自动化服务器

31.1.2 自动化控制器

31.1.3 定义activex控件

31.1.4 组件对象(com)模型对象

31.1.5 activex文档

31.1.6 activex容器

31.2 activex的功能

31.3 选择activex组件类型

31.3.1 自动化服务器和控制器

31.3.2 activex控件

31.3.3 com对象

31.3.4 使用mfc来创建activex组件

31.3.5 使用activex模板库来创建activex组件

31.3.6 创建自己的框架

31.4 基本activex组件体系结构

31.4.1 activex自动化服务器

31.4.2 activex控件

31.5 建立activex组件需要的支持工具

31.5.1 midl编译器

31.5.2 regedit程序

31.5.3 registrationserver程序

31.5.4 ole2view程序

31.5.5 把工具添加到visualc++开发环境中

31.6 用mfc创建一个基本activex控件

31.6.1 创建基本的控件项目

31.6.2 控件注册

31.6.3 创建方法

31.6.4 属性

31.6.5 创建属性页

31.6.6 添加事件

31.6.7 持久性

31.7 标准绘制

31.8 小结

第32章 使用mfc创建activex自动化服务器

32.1 创建基本项目

32.1.1 给应用程序添加一个自动化接口

32.1.2 注册服务器

32.1.3 编写样本服务器的支持代码

32.1.4 添加方法

32.1.5 给服务器添加属性

32.2 产生ole异常

32.2.1 双接口服务器

32.2.2 产生双接口ole异常

32.3 用c++进行服务器实例化

32.3.1 用c++实例化ole服务器时的常见问题

32.3.2 创建可共享的服务器

32.3.3 单一实例服务器

32.4 小结

第33章 活动模板库

33.1 atl概述

33.2 创建atl控件

33.3 将com对象添加到项目

33.4 修改cdoublepend包含文件

33.5 实现接口函数

33.6 在c++中使用控件

33.7 数据类型

33.7.1 转换bstr

33.7.2 比较bstr

33.7.3 在调试器中查看bstr的内容

33.8 在网页中嵌入activex控件

33.9 小结

第7部分 internet和html编程

第34章 internet编程

34.1 cinternetsession类

34.2 cftpconnection类

34.2.1 从ftp服务器中检索文件

34.2.2 将文件发送给ftp服务器

34.2.3 其他ftp函数

34.2.4 cintemetfile类

34.2.5 cftpfilefind类

34.3 ftp程序

34.4 套接字和csocket类

34.4.1 创建套接字

34.4.2 连接到套接字

34.4.3 监听一个连接

34.4.4 读和写数据

34.5 sockets程序

34.6 sendemail程序

34.7 检索http文件

34.8 autodialer程序

34.9 小结

第35章 chtmlview类

35.1 创建一个chtmlview项目

35.2 把项目转换为使用chtmlview类

35.3 导航chtmlview类

35.4 simplebrowser程序

35.5 multibrowser程序

35.6 直接使用web浏览器控件

35.7 编写一个记录导航日志的浏览器

35.8 编写一个阻挡站点的浏览器

35.9 小结

第36章 动态html

36.1 html基础

36.2 层叠样式表

36.2.1 全局样式表

36.2.2 样式表语法

36.3 简单文件查看器

36.4 事件和对象模型

36.5 脚本

36.6 脚本元素

36.7 改变非文本元素

36.8 在文档加载时运行脚本

36.9 编写对话框脚本

36.10 小结

第8部分 高级visualstudio技术

第37章 编写visualstudio脚本

37.1 visualstudio宏

37.1.1 quickmacros宏

37.2 创建vbscript宏

37.2.1 vbscript宏

37.2.2 编辑vbscript宏

37.2.3 创建一个空宏

37.3 使用vbscript宏

37.3.1 加载宏文件

37.3.2 运行vbscript宏

37.3.3 把宏分配给工具栏

37.3.4 把宏分配给按键

37.4 vbscnpt

37.4.1 vbscript编程

37.4.2 变量设置

37.4.3 常量设置

37.4.4 函数和过程

37.5 developerstudio对象模型

37.5.1 访问该对象模型

37.5.2 使用application对象

37.6 样本应用程序

37.6.1 运行样本宏

37.6.2 样本宏

37.7 小结

第38章 编写自定义appwizard

38.1 appwizard的内部工作

38.1.1 appwizard管理器

38.1.2 ccustomappwiz类和dictionary(字典)

38.2 创建自定义appwizard

38.3 预置项目默认设置演示程序

38.3.1 创建sdiautomationwiz演示项目

38.3.2 定义ccustomappwiz类

38.3.3 使用宏字典

38.4 高级自定义appwizard

38.4.1 添加自定义对话框

38.4.2 创建自己的模板

38.4.3 更改newproj.inf文件

38.4.4 更改classwizard文件

38.4.5 更改appwizard模板

38.4.6 更改confirm.inf文件

38.4.7 为永久性的宏使用注册表

38.4.8 更改caboutwizappwiz类以使用注册表

38.5 小结


已确认勘误

次印刷

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

Visual C++6编程宝典
    • 名称
    • 类型
    • 大小

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

    意见反馈

    14:15

    关闭

    云图客服:

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

    或者您是想咨询:

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

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

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

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

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

    loading icon