精通视窗程序设计

精通视窗程序设计
作 者: 位元文化编著
出版社: 世界图书出版西安公司
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: C语言
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《精通视窗程序设计》作者简介

内容简介

本书的十一大特色:1、轻松上手绝无障碍——对于视窗程序设计教学、本书并不以立即利用向导建立视窗程序为目的,而以详实的讲解,引领您亲手设计视窗程序,等您精通了视窗程序的架构,同志告诉您如何驾驭Visual C++所提供的向导。2、基本观念快速建立——在本书第一篇里,我们以最浅显的程序范例,最快速的方式建立您对视窗程序设计的基本认识。3、循序渐进切入核心——本书以循序渐进的连费式范例,带领您从SDI、MDI,分裂视窗走向多种文件编辑程序,让您精通Doc/View应用程序架构。4、重要机制一网打尽——对于讯息回应、文件存取、打印预览、数据交换/检查等重要机制绝不遗漏。5、视窗资源详细介绍——对于视窗程序中常见的菜单、工具栏、对话框,乃至于控制项等各视窗资源,均以范例演示使用技巧。6、Doc/View架构活学活用——对于Doc/View应用程序架构,不但告诉您如何建立,还告诉您如何将其应用于视窗重绘与数据储存。7、多任务程序设计实际应用——对于复杂的多任务程序设计,我们详细介绍其建立与执行的过程,更实际应用于FTP文件下载。8、网络、数据库程序设计均不遗漏——特开专章说明热门的网络与数据库程序设计,并介绍如何利用MFC的类别轻松建立WWW浏览器。9、范例众多说明详尽——全书完整的视窗程序范例的程序码完整列出,更辅以详细的函数说明与全程序码式的注解。10、数据查询快速便捷——对于本书中所有使用到的MFC函数,均详加说明,并提供索引帮助您快速取得资料。11、轻松驾驭超级工具——除了告诉您如何写程序外,对于Visual C++的操作,从最基本的程序编译、除错,一步一步带领您走向向导的高阶应用。

图书目录

第0章 写在前面

0-1 本书特点

0-2 本书导读

0-3 本书范例操作说明

第一篇 视窗程序设计基础

第1章 简介视窗程序设计

1-1 视窗程序设计的基本观念

1-1-1 事件、讯息与视窗动作

1-1-2 视窗的基本构造

1-1-3 资源的观念

什么是资源

资源文件的使用

资源文件的建立

1-2 如何撰写视窗程序

1-2-1 什么是Application Frameworks

1-2-2 AF与面向控件

1-3 强大的整体程序开发环境-VISUAL C++

1-3-1 什么是整体程序开发环境

1-3-2 Visual C++的画面介绍

1-3-3 MFC的类别继承阶层

第2章 Hello MFC!——视窗程序设计的初体验

2-1 建立视窗程序的基本观念

需载入的标头文件-afxwin.h

应用程序控件与视窗框架控件

借用CWinApp与CFrameWnd类别

2-2 您的第一个视窗程序-HELLO MFC

2-2-1 建立您的Hello MFC

2-2-2 CWinApp类别与程序进入点

自定应用程序类别

CWinApp::m_pMainWnd属性

程序的进入点-CWinApp::Initlnstance函数

建立应用程序控件

2-2-3 视窗框架控件

产生、建立、显示视窗框架控件

第3章 Visual C++的操作(一)——工程建立与程序编译/除错

3-1 工程的介绍

3-1-1 工程文件的介绍

3-1-2 工程的打开、关闭、储存

3-1-3 工程中文件的操作

新增/打开文件

删除文件

储存文件

3-2 编译程序

3-3 虫虫危机-程序的除错

3-3-1 程序的除错

错误的种类

除错工具的介绍

3-3-2 暂停程序的执行

中断程序执行的方法

程序的继续执行与除错的终止

3-3-3 变量值的观察

3-4 如何利用HELP

打开Help画面

三种数据查询方式

快速查询

第4章 自定视窗框架与资源文件的运用

4-1 自定视窗框架控件

4-2 MYFRAME程序范例

4-3 自定视窗框架类别与资源文件

4-3-1 视窗框架控件的建立时机

4-3-2 自定视窗框架与资源文件的建立

视窗框架与资源文件

定义识别符的标头文件

4-3-3 在视窗框架中建立菜单

第5章 视窗的讯息处理

5-1 视窗讯息的传递与处理

讯息映像表的声明

视窗讯息的种类

5-2 MESSAGE程序范例

5-3 讯息映像表与响应函数的建立

讯息映像表的建立

讯息的响应函数

鼠标讯息传入的参数

预设的命令讯息

5-4 利用鼠标绘图

如何绘图以及装置内文的建立

响应鼠标讯息并绘出鼠标轨迹点

有关鼠标讯息的相关函数

将鼠标轨迹绘制于画布上的函数说明

5-5 讯息框的使用与视窗的破坏

讯息框的使用

破坏视窗

第6章 视窗应用程序架构

6-1 什么是DOC/VIEW架构

完整的应用程序基本架构

文件样版类别

6-2 建立以DOCUMENT/VIEW为架构的视窗应用程序

6-3 DOC/VIEW的架构与建立过程

6-3-1 Doc/View的架构

SDI视窗程序的架构

如何取得程序中其它控件的指针

6-3-2 Document/View的建立过程

与建立单文件视窗应用程序的相关函数说明

6-4 单文件样版类别的应用

CSignleDocTemplate的使用

Doc/View架构使用之字符串资源

声明Run-Time类别

6-5 CVIEW类别与CDOCUMENT类别的使用

CView类别的使用

CDocument类别的使用

6-6 DOC/VIEW架构的应用

6-6-1 视窗的重绘

6-6-2 repaint程序范例

6-6-3 Doc/View的动作机制

Document的数据储存

View储存数据的机制

6-6-4 视窗的重绘

第二篇 程序资源的建立与基本绘图原理

第7章 Visual C++的操作(二)——资源编辑器的使用

7-1 资源编辑器的基本操作

新增资源控件

更改资源控件的识别符及属性

删除资源控件

7-2 菜单

在主菜单中新增子菜单/选项

在子菜单中新增选项/子菜单/分隔线

弹出菜单(Popup)的建立

状态栏的显示文字

使用MFC己提供的ID

7-3 图标、位图、光标

绘图环境的介绍

绘图工具的介绍

7-4 工具栏

编辑工具栏按钮

设定工作列按钮的代号与状态栏显示文字

移动工具栏按钮

7-5 对话框

插入对话框资源

对话框的编辑画面

将控件加入对话框中

控件的简介

控件编辑工具

控件的属性设定

7-6 字符串表

7-7 识别符的管理

7-8 快捷键

第8章 菜单的建立

8-1 简介菜单

菜单的组成

菜单的种类

8-2 MENU程序范例

8-3 菜单的建立与设定

8-4 菜单的切换

8-5 利用CMENU类别控制菜单

菜单资源与CMenu的连接与分离

子菜单与选项的取得

选项与子菜单的新增

鼠标轨迹颜色的控制

选项的打勾

选项的修改与删除

8-6 修改系统菜单与建立弹出式菜单

系统菜单的修改

弹出式菜单的建立

第9章 UPDATE COMMAND UI讯息

9-1 什么是UPDATE_COMMAND_UI讯息

9-2 COMMAND_UI程序范例

9-3 UPDATE_COMMAND_UI讯息的接收与响应

UPDATE_COMMAND-UI讯息的接收机制

响应函数

9-4 UI组件的修改

第10章 快捷键、工具栏、状态栏与字符串表

10-1 快捷键的建立

10-1-1 accelerators程序范例

10-1-2 载入快捷键表

10-2 工具栏、状态栏与字符串表的使用

10-2-1 简介工具栏、状态栏与字符串表

工具栏与状态栏

字符串表的使用

10-2-2 controlbar程序范例

10-2-3 工具栏的建立

需要载入的标头文件

建立工具栏的步骤

建立工具栏的时机-视窗框架类别的OnCreate函数

建立工具栏的相关函数说明

载入工具栏资源的函数

设定放置工具栏位置的函数

设定工具栏样式的函数

取得工具栏样式的函数

有关工具栏于视窗中放置位置的设定函数

10-2-4 状态栏的建立

需要载入的标头文件

建立状态栏的步骤

状态栏的组成

建立状态栏的函数

设定状态栏代号的函数

状态栏操作的函数

10-2-5 字符串表的建立

第11章 图标、位图与光标资源

11-1 简介图标、位图与光标资源

图标的用途

位图的用途

光标资源的使用

11-2 图标、位图与光标资源的使用

11-2-1 resource程序范例

11-2-2 图标资源的使用

载入图标资源的函数

设定应用程序使用图标的函数

11-2-3 位科资源的使用

载入位图资源的函数

11-2-4 鼠标光标资源的使用

与更改鼠标光标有关的函数

取得应用程序控件的函数说明

设定视窗框架使用鼠标光标的函数说明

11-3 建立PAINTER的视窗界面

11-3-1 简介Painter的视窗界面

11-3-2 painter1程序范例

11-3-3 painter1的程序架构

11-3-4 painter1的自定类别说明

11-3-5 控制工具栏的隐藏与显示

第12章 基本绘图原理

12-1 视窗的基本绘图原理

12-1-1 绘图装置界面(Graphics Device Interface)

12-1-2 装置内文(Device Context)

12-1-3 颜色的定义

RGB宏的说明

COLORREF数据类型

12-1-4 MFC的GDI类别

画笔与画刷

12-1-1 建立画笔控件

CPen类别的建构符

12-1-6 建立画刷控件

CBrush的建构符

12-2 CDC类别的介绍

12-2-1 CDC类别的衍生类别

12-2-2 CDC类别提供的形状绘制函数

线

矩形

椭圆形

12-3 画笔、画刷与绘图模式的控制

12-3-1 画笔与画刷的选取

12-3-2 绘图模式的控制

12-4 建立PAINTER的绘图功能

12-4-1 painter2的绘图功能

12-4-2 painter2程序范例

12-4-3 painter2的程序架构

MyView类别的绘图功能

形状类别的继承架构

12-4-4 painter2的自定类别说明

12-4-5 MyView类别所处理的讯息

设定形状与颜色的命令讯息

更新视窗组件状态的讯息

鼠标讯息

12-4-6 Shape::draw的玄机-动态链接的应用

第13章 图形控件的记录与重绘

13-1 记录图形控件与视窗重绘的机制

13-2 PAINTER3程序范例

13-3 视窗重绘的机制

13-4 PAINTER3的自定类别

13-5 形状控件的重绘机制

用GraphicObject控件记录形状控件

将GraphicObject控件加入Document控件

将GraphicObject控件重绘到画布上

第三篇 深入应用程序架构

第14章 应用程序架构的文件操作机制

14-1 MFC的文件储存机制

数据储存至文件的机制

应用程序架构的操作文件标准功能

14-2 PAINTER4程序范例

14-3 PAINTER4的自定类别

14-4 建立储存数据的SERIALIZE函数

GraphicObject过载的Serialize函数

MyDocument过载的Serialize函数

Serialize函数间的关系

14-5 建立文件操作功能

第15章 滚动条视窗与部分视窗重绘

15-1 具有滚动条的视窗

15-2 SCROLLVIEW程序范例

15-3 可滚动大小的设定

15-4 客户区与文件间的坐标转换

物理坐标系统与逻辑坐标系统

两个坐标间的转换

需要坐标转换的时机

15-5 重绘部分视窗

第16章 分裂视窗

16-1 多视窗程序的建立

动态分裂与静态分裂

16-2 动态分裂视窗的建立

16-2-1 如何动态分裂视窗

16-2-2 DynaSplit程序范例

16-2-3 建立动态分裂视窗

16-2-4 子视窗的同步更新

16-3 静态分裂视窗的建立

16-1-1 如何建立静态分裂视窗

16-3-2 StaticSplit程序范例

16-3-3 静态分裂视窗的建立

16-3-4 建立检视整体画布的GlobalView类别

绘图区画布的缩小显示

绘图区画布范围以及绘图区显示区域的范围标示

绘图控件的缩小

16-3-5 子视窗的更新机制

浏览区视窗标示范围的更新

浏览区的同步更新

第17章 多文件视窗程序的建立

17-1 如何建立MDI视窗程序

简介MDI视窗程序

MDI视窗程序的架构

如何取得程序中其它控件的指针

17-2 MDI程序范例

17-3 MDI视窗程序使用的资源

17-4 MDI视窗程序的InitInstance函数

多文件样版类别的使用

最近打开过文件名称的载入

建立文件的快速打开及拖曳打开功能

激活时打开空白文件

17-5 CMDIFrame类别已完成的程序机制

17-6 主\于视窗框架控件的取得

第18章 文字编辑器的建立

18-1 EDITOR程序范例

18-2 多种文件编辑器

18-3 建立文字编辑器

18-3-1 View类别的建立

CEditView的介绍

建立TextView类别

建立显示文字编辑状态的状态栏

状态栏Command-UI讯息的响应

18-3-2 Document类别的建立

建立TextDoc类别

显示文字文件的修改状态

文字文件的储存

MDI界面下View控件的取得

第19章 打印与预览

19-1 MFC的打印、打印预览机制

打印机制中需过载的函数

OnPrint函数与OnDraw函数的关系

CPrintInfo类别的说明

打印预览机制

19-2 PRINT程序范例

19-3 打印机制需要载入的资源

19-4 坐标系统的转换

19-5 图形文件与文字文件的打印

19-5-1 图形文件的打印

设定打印的最大页数

建立页首

在打印页中标示文件的范围

19-5-2 文字文件的打印

第20章 Visual C++的操作(三)——程序快速开发工具的应用

20-1 辅助程序开发的聪明工具

快速建立程序的AppWizard

维护视窗基本类别的ClassWizard

20-2 AppWIZARD的介绍

20-2-1 AppWizard的使用说明

20-2-2 AppWizard所产生文件的说明

定义CPainterApp类别的文件

定义CMainFrame类别的文件

定义CChildFrame类别的文件

定义CPainterView类别的文件

定义CPainterDoc类别的文件

载入视窗程序标头文件的文件

20-3 CLASSWIZARD的使用

20-3-1 简介ClassWizard

ClassWizard的的用途

ClassWizard的使用范围

使用ClassWizard的条件

启动ClassWizard

20-3-2 Message Maps标签

Project控件

Class Name控件

Object IDs设定栏

Messages设定栏

Member functions栏

20-3-3 ClassWizard之Message标签的操作示范

新增回应讯息

过载成员函数

删除函数

新增类别

20-4 WIZARDBAR的简介

简介Wizard Bar

WizardBar各控件的说明

20-5 利用VISUAL C++工具建立程序

20-5-1 Visual C++工具的综合应用

20-5-2 利用WizardBar新增类别

新增一般类别

继承于CObject类别的GraphicObject

20-5-3 利用WizardBar新增函数

新增一般成员函数

新增建构符

建立纯虚拟函数

过载运算符

20-5-4 利用ClassWizard新增讯息响应函数

过载MFC类别的成员函数

新增讯息响应函数

第四篇 对话框、对话框应用程序与各种控件

第21章 Modal对话框的建立

21-1 简介对话框

21-1-1 对话框的种类与功能

21-1-2 对话框组成

21-1-3 对话框资源与对话框控件

21-2 PAINTER5程序范例

21-3 PAINTER5的自定类别

21-4 PAINTER5的架构

21-5 SWIDTHDLG对话框类别

SWidthDlg类别的属性

SWidthDlg建构符

SWidthDlg::OnInitDialog成员函数

SWidthDlg::OnOK成员函数

SWidthDlg::StrToInt成员函数

21-6 MODAL对话框控件的建立

第22章 对话框的数据交换与检查机制

22-1 DDX与DDV

什么是DDX、DDV

为何要用DDX、DDV

DDX机制的数据交换过程

22-2 PAINTER6程序范例

22-3 DDX与DDV机制的建立

如何建立DDX机制

如何建立DDV机制

DDX与DDV函数的说明

22-4 数据交换与检查机制

22-5 DDX与DDV函数的说明

编辑控件的DDX函数

用于选取按钮的DDX函数

复选框的DDX函数

列表框的DDX函数

用于组合框的DDX函数

DDV函数的说明

第23章 Modeless对话框

23-1 MODELESS对话框的建立

23-2 PAINTER7程序范例

23-3 PAINTER7的自定类别

23-4 MODELESS对话框的建立

23-5 数据交换机制

CDialog::Update函数的使用

23-6 其它更改的部分

第24章 Visual C++的操作(四)——对话框类别的建立

24-1 快速建立对话框类别

24-1-1 ClassWizard建立对话框类别的机制

24-1-2 建立对话框类别

24-1-3 建立数据交换与检查机制

24-1-4 其它相关资源的建立

24-2 快速建立对话框应用程序

建立对话框应用程序的步骤

对话框应用程序的建立结果

第25章 对话框应用程序与控件的应用

25-1 对话框应用程序的使用

25-2 BUTTON与STATIC TEXT

25-2-1 简介Button与Static Text控件

25-2-2 小计算器程序范例

25-2-3 OnCommand讯息的响应

输入数字的计算

运算的执行

更新计算器显示的计算数据

25-2-4 OnClear函数

25-3 PICTURE

25-3-1 Timer(小时钟)程序范例

25-3-2 WM_TIMER讯息的使用

定时器的建立

计数器的消灭

25-3-3 系统时间的取得与CTime控件的使用

25-4 LIST BOX、COMBO BOX与多页对话框的建立

25-4-1 简介List Box、Combo Box与多页对话框

List Box(列表框)

Combo Box(组合框)

多页对话框的建立

25-4-2 ListProperty程序范例

25-4-3 多页对话框的建立

属性页修改旗标的设定

过载OnApply函数

25-4-4 List Box的操作

建立选项

设定选取项目

取得多重选取项目的索引

取得选项字符串

25-4-5 Combo Box的操作

建立选项

设定选取项目

取得选项字符串

25-5 SCROLL BAR、SLIDER、SPIN、EDIT BOX与CHECK BOX

25-5-1 简介滚动类控件

三种滚动类控件的介绍

滚动条控件发出的讯息

25-5-2 简介Edit Box与Check Box

25-5-3 SldCtrl程序范例

25-5-4 各控件间的关系

25-5-5 起始状态的设定

25-5-6 WM_HSCROLL与WM_VSCROLL讯息

25-5-7 Slider与Scroll Bar的滚动

25-5-8 Edit Box的EN_CHANGE讯息

25-5-9 Check Box的BN_CLCKED讯息

25-6 TREE CONTROL、LIST CONTROL与RADIO BOX

25-6-1 简介Tree Control、List Control与Radio Box

Tee Control(树状控件)

List Control(列表控件)

Radio Box(单选钮)

25-6-2 DirView程序范例

25-6-3 文件信息的取得

取得磁盘数据

CFileFind类别的运用

25-6-4 Image List控件的建立

25-6-5 Tree Control的建立

建立Tree Control使用的Image List控件

建立节点

上一层节点与节点名称的取得

节点展开讯息的响应

节点被选取讯息的响应

25-6-6 List Control的建立

25-6-7 Radio Box的使用

Radio Box选取讯息的响应

Radio Box群组的建立

第五篇 网络及数据库程序设计

第26章 PROCESS与THREAD的观念

26-1 Process与Thread是什么?

Process(进程)

Thread(执行绪)

为何要有多执行绪(Multithreading)程序

执行绪的种类

26-2 Thread程序范例

26-3 建立工作者执行绪

26-3-1 建立执行绪函数

执行参数的传递

MFC控件的传递

26-3-2 子执行绪的产生

26-4 执行绪的执行

26-4-1 暂停间隔的设定

26-4-2 暂仪/恢复执行绪的执行

暂停执行绪的执行

恢复执行绪的执行

26-4-3 优先执行权的设定

26-4-4 检查执行绪的执行状态

26-5 中断执行绪的执行

利用TerminateThread函数中断执行绪

利用执行参数中断执行绪

26-6 自定执行绪的结束执行讯息

第27章 FTP程序的撰写

27-1 MFC的国际互联网程序撰写

27-1-1 国际互联网的简介

27-1-2 MFC中与建立网络程序的相关类别

CInternetSession类别

CFtpConnect类别

CFtpFileFind类别

27-2 FTP程序范例

27-3 FTP连接的建立与中断

27-3-1 FTP联机的建立

建立联机的步骤

建立联机

27-3-2 联机错误的处理机制

例外处理机制-try-catch叙述

联机错误的处理

27-3-3 FTP联机的中断

中断联机的步骤

中断联机

27-4 取得服务端的文件数据

建立搜寻目录的路径字符串

搜寻与取得服务端文件数据

27-5 利用执行绪执行文件下载

文件下载数据的准备

文件下载执行绪函数的建立

下载执行绪的建立与传送状态的显示

第28章 一个简单的浏览器

28-1 简介CHtmlView

28-2 HViewer程序范例

28-3 CHtmlView类别的介绍

打开URL连接

停止载入

重新载入

到上一页

到下一页

到首页

第29章 MFC与数据库

29-1 数据库管理系统的建立

29-1-1 简介数据库管理系统

29-1-2 数据库操作程序的观念

关系型数据库

记录集的观念

ODBC标准

MFC的ODBC类别

29-2 ODBC程序范例

29-2-1 建立数据库

29-2-2 建立ODBC连接

29-2-3 建立ODBC程序范例

29-3 RFX数据交换机制

29-3-1 记录集类别的定义与RFX机制

29-3-2 取得RFX机制的数据来源

29-4 CRecordset的使用

29-4-1 建立/打开CRecordset控件

29-4-2 数据的新增/删除/修改

数据的删除

数据的修改

数据的新增

29-4-3 设定数据筛选条件与排序方式

29-5 CDatabase类别的使用

29-5-1 CDatabase控件的打开与关闭

29-5-2 执行SQL叙述

新增数据的准备工作

以SQL语法新增记录

附录A 本书中所使用MFC函数索引