书籍详情
跟我学VISUAL C++ 6
作者:(美)StephenD.Gilbert,(美)BillMclarty著;赵军锁等译
出版社:机械工业出版社
出版时间:1999-01-01
ISBN:9787111070757
定价:¥58.00
内容简介
《跟我学VISUALC++6》面向初级和中级用户,是VisualC++6的全面而详尽的指导书!本书的内容主要有:最新Microsoft工具和组件的使用,VisualC++Windows程序设计与MFC类库编程;图形和多媒体程序设计;精通控件和向导的使用;用软件组件构造有用的应用程序;使用功能强大的WindowsAPI;使用强大的MicrosoftODBC技术;使用ActiveX建立数据库应用程序;文档-视图应用程序;创建交互式画图程序;开发关系数据库应用程序。掌握一门技术的最佳方式是进行大量的项目实践,本书的特点是新颖独特、基于项目,使你可以快速精通VisualC++6。其结合实际项目并配以详尽解释的独特样式使你可以快速应用所学知识,随心所欲地开发自己的应用程序。
作者简介
赵晓1967年生,江西奉新人,1989年山东大学经济学学士,1995年南开大学经济学硕士,1999年北京大学光华管理学院经济学博士。现为国家国资委研究中心宏观战略部部长,北京大学中国经济研究中心博士后研究员,同时兼任中国体制改革研究会特约研究员、中国经济改革研究基金会学术委员、天则经济研究所特约研究员,中国社会科学院国际金融研究中心特约研究员、中央电视台“中国财经报道”财经观察员以及安邦信息集团的特约研究员,被认为是中国大陆目前最活跃、最有影响的青年经济学家之一。赵晓博士研究领域涉及宏观经济与政策分析、国企改革、市场跟踪与预测以及企业成长等,曾在通货紧缩、中国的财政危机、石油对中国经济的影响以及中国经济增长的真实性、就业与失业、企业成长等问题上提出一系列真知灼见。赵晓博士在《经济研究》、《经济社会体制比较》等学术刊物上发表文章多篇,出版的主要论著有:《企业成长战略》、《亚洲金融危机:中国的挑战》、《宏观政策调整与坚持市场取向》、《1998-2000中国通货紧缩研究》、《中国经济增长的真实故事》、《谁是柠檬?》(经济学随笔集)等。译著有:《空雨衣》([英]查尔斯·汉迪,华夏出版社2000年版)、“亚洲金融危机:疹断、处方及展望”(《战略与管理》1998年第4期)等。彻底的市场经济是无耻的>>更多作品
目录
目 录
译者序
前言
第1章 创建第一个应用程序:
学习使用VC++ 1
1.1 审视VC++ 1
1.1.1 Visual C++是什么 2
1.1.2 使用Visual C++ 2
1.2 NotePod项目:初步介绍 3
1.3 从AppWizard开始 4
1.3.1 AppWizard第一步:指定
应用程序风格 4
1.3.2 AppWizard第二步:
数据库支持 5
1.3.3 AppWizard第三步:
OLE支持 6
1.3.4 AppWizard第四步:
更进一步的一些东西 6
1.3.5 AppWizard“中场休息”:
命名扩展名 7
1.3.6 AppWizard第五步:
最后的一些事情 8
1.3.7 AppWizard第六步:
具有视图的应用程序 8
1.4 浏览该项目 10
1.4.1 丰富的文件:FileView 11
1.4.2 浏览类:ClassView窗口 11
1.4.3 ResourceView概览 12
1.5 运行NotePod项目 13
1.5.1 创建NotePod 13
1.5.2 运行NotePod 14
1.6 开始新的一切 15
1.6.1 通过WizardBar简单了解 15
1.6.2 意料之外的帮助 17
1.7 这究竟是怎么回事 17
第2章 Windows程序设计 19
2.1 DOS的问题 19
2.1.1 用户界面的问题 19
2.1.2 硬件相关性问题 20
2.1.3 协作问题 20
2.2 Windows解决方案 20
2.2.1 统一的用户界面 21
2.2.2 Windows的消息体系结构 21
2.2.3 设备无关的输入/输出体系结构 21
2.2.4 进程间的通信和协作 22
2.3 最初的Windows程序设计:
API的使用 22
2.3.1 事件驱动是指什么 22
2.3.2 Windows应用程序体系结构 24
2.3.3 如何完成 25
2.3.4 WinMain()函数 26
2.3.5 WndProc( )函数内幕 29
2.3.6 Windows API程序设计小结 30
2.4 Windows程序设计:MFC 30
2.4.1 何谓MFC 30
2.4.2 类库与应用程序框架 30
2.4.3 为什么使用MFC 31
2.4.4 一个MFC小程序 31
2.5 马上转向MFC 36
第3章 建立一个简单的基于对话框
的应用程序 37
3.1 资源和对话框 37
3.2 启动对话框编辑器 41
3.2.1 控件工具栏 41
3.2.2 开始About对话框 42
3.3 位图编辑器的使用 43
3.3.1 添加新图标 44
3.3.2 修改应用程序图标 45
3.4 对话框编辑器 48
3.4.1 组件的选取. 重定义大小
以及移动 49
3.4.2 对话框工具栏介绍 50
3.4.3 处理静态文本 50
3.4.4 创建位图资源 54
3.4.5 最后一个控件:组框(Groupbox) 55
3.5 最后的检查 56
第4章 对话框 58
4.1 FourUp应用程序的结构 58
4.1.1 所需模块 58
4.1.2 其他方面 59
4.1.3 FourUp家族 60
4.2 应用程序对象 61
4.2.1 CFourUp.h 62
4.2.2 FourUp.cpp 65
4.2.3 关于CWinApp 69
4.3 窗口 69
4.3.1 关于CWnd 69
4.3.2 CDialog类 70
4.3.3 CAboutDlg浏览 70
4.3.4 遍历CFourUpDlg 71
4.4 资源介绍 75
4.4.1 资源描述和资源编译器 75
4.4.2 图标资源 76
4.4.3 关于位图资源 76
4.4.4 对话框资源 77
4.5 小结 77
第5章 控件和ClassWizard:实现你的
对话框 78
5.1 努力方向 78
5.2 对话框编辑器回顾 79
5.2.1 添加牌张 79
5.2.2 安排图标 81
5.2.3 添加游戏区域 82
5.2.4 添加标题区 82
5.2.5 创建赔率表 82
5.2.6 标识按钮 83
5.3 编写代码 84
5.3.1 事件计划 84
5.3.2 手工编写代码:添加数据成员 85
5.4 响应BN_CLICKED事件 86
5.4.1 生成OnCancel( )函数 86
5.4.2 编写代码:完成OnCancel()
函数 87
5.5 编写OnDealCards ( )函数 88
5.5.1 OnDealCards( ):初稿 88
5.5.2 ClassWizard 和控件变量介绍 89
5.6 编写代码:发牌. 计算输赢 91
5.6.1 创建 Card变量 91
5.6.2 创建 Icon变量 91
5.6.3 编写DealCards( ) 成员函数 92
5.6.4 编写 CalculateWinnings( )
成员函数 94
5.6.5 最后一件事 95
5.7 姑且一试 95
第6章 理解控件 96
6.1 CWnd的简短说明 96
6.1.1 窗口的构造 96
6.1.2 CWnd :: Create( )函数 97
6.1.3 窗口风格一览 97
6.1.4 创建子窗口 98
6.1.5 有用的CWnd函数 99
6.2 CStatic再学习 100
6.2.1 创建CStatic控件 100
6.2.2 CStatic控件的使用 102
6.2.3 CStatic成员函数 103
6.3 CButton家族 103
6.3.1 创建CButton控件 104
6.3.2 CButton控件的使用 108
6.4 小结 109
第7章 用数字绘图:建立一个画图
应用程序 110
7.1 LineOne上的图形 110
7.1.1 LineOne 项目 110
7.1.2 建立项目骨架 110
7.1.3 加入一些线 111
7.2 LineOne内部 112
7.2.1 OnPaint( )是什么 113
7.2.2 获取画布 113
7.2.3 准备环境 114
7.2.4 绘制直线 114
7.3 LineTwo应用程序 115
7.3.1 建立LineTwo 115
7.3.2 LineTwo是如何工作的 116
7.3.3 LineTwo工作的缺陷 117
7.3.4 用ClassWizard添加一个窗口
消息处理函数 117
7.4 Windows的图案绘制 118
7.5 绘图工具 120
7.5.1 库存画笔和画刷 121
7.5.2 库存画笔和画刷的使用 121
7.6 连续绘图 122
7.7 PaintItGray 124
7.8 勇往无前 126
第8章 图形和文本 127
8.1 Windows和GDI的内幕 127
8.2 CDC家族介绍 129
8.3 GDI的画图工具箱 130
8.3.1 CPen. 颜色和其他CDC属性 131
8.3.2 GDI CBrush类 135
8.4 CDC绘画的模式 137
8.5 创建你自己的屏幕保护程序 138
8.6 下一步 141
第9章 建立一个交互式的绘画程序 142
9.1 PaintORama版本1 142
9.1.1 建立PaintORama 143
9.1.2 添加成员变量 144
9.1.3 初始化成员变量 145
9.1.4 添加一个Clear按钮 147
9.1.5 鼠标消息如何工作 148
9.1.6 WM_LBUTTONDOWN:
启动画图 148
9.1.7 WM_LBUTTONUP:画线结束 150
9.1.8 WM_MOUSEMOVE:
使所有像素排成一行 150
9.2 PaintORama版本2:改进画笔 151
9.2.1 Spin控件 152
9.2.2 与代码建立联系 154
9.3 预告 157
第10章 第二代PaintORama 158
10.1 PaintORama版本3:颜色和风格 158
10.1.1 增加多种颜色 158
10.1.2 颜色选择:CColorDialog 158
10.1.3 颜色框绘制 161
10.1.4 单选按钮和画笔风格 162
10.2 PaintORama:线和外形 164
10.2.1 小巧而精美的组合框 164
10.2.2 线和外形 166
10.2.3 橡皮圈的秘密 168
10.3 PaintORama:最终的版本 169
10.3.1 制作列表 169
10.3.2 编写画刷部分的代码 171
10.3.3 添加画刷预览和颜色支持 173
10.4 仍需改进 174
第11章 建立文档和视图 175
11.1 PaintORama :WM_PAINT
的再次处理 175
11.1.1 PaintORama 概览 176
11.1.2 创建CMetaFileDC对象 176
11.1.3 用CMetaFileDC进行记录 177
11.1.4 回放图元文件 180
11.1.5 小的补充 181
11.2 SDIOne :转向DocView 182
11.2.1 建立第一个SDI应用程序 183
11.2.2 在SDIOne 中处理文档 184
11.2.3 SDIOne 中的视图处理 187
11.3 立竿见影 189
第12章 DocView 环境 191
12.1 DocView 概述 191
12.1.1 DocView 程序的类型 191
12.1.2 DocView 的优点 192
12.2 DocView 的组成 192
12.2.1 应用程序类 193
12.2.2 主窗口类 193
12.2.3 文档类 194
12.2.4 视图类 197
12.2.5 权利和义务 198
12.3 CSDIOneApp 的InitInstance() 198
12.3.1 应用程序的建立 200
12.3.2 连接各模块 202
12.3.3 外壳 203
12.3.4 命令行 203
12.3.5 窗口处理 204
12.3.6 CSDIOneApp 的消息映射 204
12.4 下面学习什么 205
第13章 MiniSketch应用程序 206
13.1 名称中有什么 206
13.2 往MiniSketch应用程序
中增加菜单 209
13.2.1 添加菜单标题:
Clear Drawing 210
13.2.2 使用菜单编辑器 210
13.2.3 添加一个菜单项处理过程 212
13.2.4 幕后:ClassWizard的机制 214
13.3 处理画笔 215
13.3.1 添加一个新菜单 215
13.3.2 画笔颜色:添加对话框选项 216
13.3.3 画笔宽度:添加级联式菜单 219
13.4 下一步的工作 222
第14章 菜单. 工具栏和状态栏 224
14.1 命令UI 224
14.1.1 方法1:单独的UI处理函数 225
14.1.2 方法2:多个宏, 一个处理
函数 226
14.1.3 方法3:使用ON_UPDATE_
COMMAND_UI _RANGE
来代替 227
14.2 加速键 227
14.3 工具栏 229
14.3.1 打开颜色设置框—一个命令
按钮式的工具栏按钮 230
14.3.2 添加图形形状类按钮:单选框
按钮和工具栏按钮 232
14.4 状态栏 235
14.4.1 移去不期望的指示器 235
14.4.2 添加自己的指示器 235
14.4.3 添加一个画笔颜色指示器 238
14.5 下一步的工作 243
第15章 保存MiniSketch:操作文档
和文件 244
15.1 点和图形 244
15.1.1 类和属性 245
15.1.2 Shape对象的行为 246
15.2 定义Shape类 246
15.2.1 创建类文件 246
15.2.2 Shape类定义 248
15.2.3 Line类定义 249
15.2.4 Squiggle 类定义 249
15.2.5 FilledShape类定义 250
15.2.6. Box和Oval类定义 251
15.3 实现Shape类 252
15.4 使用Shape类 254
15.5 保存MiniSketch中的数据 256
15.6 序列化 259
15.6.1 MFC序列化细节 260
15.6.2 编写Serialize( ) 260
15.7 还要查看哪些东西 262
第16章 新的视野:翻滚和打印 263
16.1 画刷颜色 263
16.2 把文档和视图联系起来 265
16.2.1 创建新的图形 265
16.2.2 完成该图形的绘制 266
16.2.3 橡皮圈 267
16.3 绘制图形 268
16.3.1 自我描绘图形 268
16.3.2 处理Update( ) 270
16.3.3 重新编写OnDraw( ) 270
16.4 选择视图:映射模式 271
16.4.1 MM_TEXT映射模式 272
16.4.2 设备无关性映射模式 272
16.4.3 调整MiniSketch 应用程序
中的映射模式 273
16.5 翻滚视图 274
16.6 打印和打印预览 276
16.6.1 MFC打印函数 276
16.6.2 MiniSketch应用程序例子 278
16.7 谈谈一个崭新的话题 280
第17章 软件重用:构造一个基于组件
的应用程序 281
17.1 考察Gallery 282
17.2 WordZilla 应用程序范例: 286
17.3 增强WordZilla应用程序 290
17.3.1 安装缺省字体 290
17.3.2 设置一个新字体 291
17.3.3 创建字符属性按钮 293
17.3.4 创建段落属性按钮 294
17.4 在对话框中应用ActiveX 297
第18章 ActiveX和基于组件的
应用程序 298
18.1 给WordZilla添加对话框 299
18.1.1 画一个Select A Date对话框 299
18.1.2 创建对话框类 301
18.1.3 联系该对话框 302
18.2 模态对话框是如何工作的 304
18.2.1 构造一个对话框 305
18.2.2 显示一个对话框 306
18.2.3 对话框的数据传输怎样实现 306
18.2.4 关闭对话框 307
18.2.5 处理OK 307
18.3 使用非模态对话框 308
18.3.1 非模态对话框如何工作 308
18.3.2 WordZilla中的非模态对话框 308
18.4 ActiveX日期捕捉器 313
18.4.1 添加ActiveX控件 313
18.4.2 对话框编辑器中的ActiveX
控件 314
18.4.3 ActiveX控件. 代码和
ClassWizard 316
18.4.4 属性事件和方法 318
18.5 再谈谈ActiveX 318
18.6 接下来的工作:操作存储空间 320
第19章 创建数据库查寻和更新
应用程序 321
19.1 获得一些数据 321
19.2 使用ODBC的非编码记录 322
19.2.1 步骤1:创建一个数据源名称 323
19.2.2 步骤2:使用AppWizard创建一个
ODBC应用程序 325
19.2.3 步骤3:创建你的表单 326
19.2.4 步骤4:联系各部分 328
19.3 往OBos 中添加代码 329
19.3.1 添加一个记录过滤器 330
19.3.2 添加和删除记录 331
19.4 使用DAO 335
19.4.1 创建一个CDaoRecordView
应用程序 336
19.4.2 改进DBos应用程序 338
19.5 使用OLE DB 341
19.6 下一步:ActiveX和简便之途 342
第20章 关系数据库 343
20.1 什么是关系数据? 343
20.1.1 设计图解 343
20.1.2 关键字概念 344
20.2 使用DAO查看数据库 345
20.2.1 DBExplore例子 345
20.2.2 在OnFileOpen( )中使用
DAO类 348
20.2.3 探究其他的对象 349
20.3 关系数据库:SQL 352
20.3.1 SELECT命令 352
20.3.2 选择域 352
20.3.3 选择行:使用Where子句 353
20.3.4 谓词This 353
20.4 ActiveX数据库控件 355
20.5 往 DBExplore中添加ActiveX 356
20.5.1 步骤1:添加ActiveX数据控件 356
20.5.2 步骤2:往主表单添加组件 358
20.5.3 步骤3:创建查询结果对话框 360
20.5.4 步骤4:激活查询按钮 361
20.5.5 工作原理的简单说明 363
20.6 下一步:Web 364
第21章 网络编程:浏览器和其他
客户程序 365
21.1 HTMLView 365
21.2 提供Bowser缺省主页 367
21.2.1 主页源代码 367
21.2.2 理解HTML语言 370
21.2.3 帮助Bowser 找到主页 371
21.3 Visual C++新功能:HTML资源 372
21.3.1 引入Bowser.html 文件 373
21.3.2 引入图形文件 374
21.3.3 使用res:协议 375
21.4 开发导航工具 376
21.4.1 创建工具栏 376
21.4.2. 添加代码 379
21.4.3 处理Open 对话框 381
21.5 使用WinInet类 383
21.5.1 WinInet是什么 384
21.5.2 简单的WinInet应用程序 384
21.5.3 WinInet其他功能 386
21.6 保存自己的Bowser 386
21.7 再见 388
译者序
前言
第1章 创建第一个应用程序:
学习使用VC++ 1
1.1 审视VC++ 1
1.1.1 Visual C++是什么 2
1.1.2 使用Visual C++ 2
1.2 NotePod项目:初步介绍 3
1.3 从AppWizard开始 4
1.3.1 AppWizard第一步:指定
应用程序风格 4
1.3.2 AppWizard第二步:
数据库支持 5
1.3.3 AppWizard第三步:
OLE支持 6
1.3.4 AppWizard第四步:
更进一步的一些东西 6
1.3.5 AppWizard“中场休息”:
命名扩展名 7
1.3.6 AppWizard第五步:
最后的一些事情 8
1.3.7 AppWizard第六步:
具有视图的应用程序 8
1.4 浏览该项目 10
1.4.1 丰富的文件:FileView 11
1.4.2 浏览类:ClassView窗口 11
1.4.3 ResourceView概览 12
1.5 运行NotePod项目 13
1.5.1 创建NotePod 13
1.5.2 运行NotePod 14
1.6 开始新的一切 15
1.6.1 通过WizardBar简单了解 15
1.6.2 意料之外的帮助 17
1.7 这究竟是怎么回事 17
第2章 Windows程序设计 19
2.1 DOS的问题 19
2.1.1 用户界面的问题 19
2.1.2 硬件相关性问题 20
2.1.3 协作问题 20
2.2 Windows解决方案 20
2.2.1 统一的用户界面 21
2.2.2 Windows的消息体系结构 21
2.2.3 设备无关的输入/输出体系结构 21
2.2.4 进程间的通信和协作 22
2.3 最初的Windows程序设计:
API的使用 22
2.3.1 事件驱动是指什么 22
2.3.2 Windows应用程序体系结构 24
2.3.3 如何完成 25
2.3.4 WinMain()函数 26
2.3.5 WndProc( )函数内幕 29
2.3.6 Windows API程序设计小结 30
2.4 Windows程序设计:MFC 30
2.4.1 何谓MFC 30
2.4.2 类库与应用程序框架 30
2.4.3 为什么使用MFC 31
2.4.4 一个MFC小程序 31
2.5 马上转向MFC 36
第3章 建立一个简单的基于对话框
的应用程序 37
3.1 资源和对话框 37
3.2 启动对话框编辑器 41
3.2.1 控件工具栏 41
3.2.2 开始About对话框 42
3.3 位图编辑器的使用 43
3.3.1 添加新图标 44
3.3.2 修改应用程序图标 45
3.4 对话框编辑器 48
3.4.1 组件的选取. 重定义大小
以及移动 49
3.4.2 对话框工具栏介绍 50
3.4.3 处理静态文本 50
3.4.4 创建位图资源 54
3.4.5 最后一个控件:组框(Groupbox) 55
3.5 最后的检查 56
第4章 对话框 58
4.1 FourUp应用程序的结构 58
4.1.1 所需模块 58
4.1.2 其他方面 59
4.1.3 FourUp家族 60
4.2 应用程序对象 61
4.2.1 CFourUp.h 62
4.2.2 FourUp.cpp 65
4.2.3 关于CWinApp 69
4.3 窗口 69
4.3.1 关于CWnd 69
4.3.2 CDialog类 70
4.3.3 CAboutDlg浏览 70
4.3.4 遍历CFourUpDlg 71
4.4 资源介绍 75
4.4.1 资源描述和资源编译器 75
4.4.2 图标资源 76
4.4.3 关于位图资源 76
4.4.4 对话框资源 77
4.5 小结 77
第5章 控件和ClassWizard:实现你的
对话框 78
5.1 努力方向 78
5.2 对话框编辑器回顾 79
5.2.1 添加牌张 79
5.2.2 安排图标 81
5.2.3 添加游戏区域 82
5.2.4 添加标题区 82
5.2.5 创建赔率表 82
5.2.6 标识按钮 83
5.3 编写代码 84
5.3.1 事件计划 84
5.3.2 手工编写代码:添加数据成员 85
5.4 响应BN_CLICKED事件 86
5.4.1 生成OnCancel( )函数 86
5.4.2 编写代码:完成OnCancel()
函数 87
5.5 编写OnDealCards ( )函数 88
5.5.1 OnDealCards( ):初稿 88
5.5.2 ClassWizard 和控件变量介绍 89
5.6 编写代码:发牌. 计算输赢 91
5.6.1 创建 Card变量 91
5.6.2 创建 Icon变量 91
5.6.3 编写DealCards( ) 成员函数 92
5.6.4 编写 CalculateWinnings( )
成员函数 94
5.6.5 最后一件事 95
5.7 姑且一试 95
第6章 理解控件 96
6.1 CWnd的简短说明 96
6.1.1 窗口的构造 96
6.1.2 CWnd :: Create( )函数 97
6.1.3 窗口风格一览 97
6.1.4 创建子窗口 98
6.1.5 有用的CWnd函数 99
6.2 CStatic再学习 100
6.2.1 创建CStatic控件 100
6.2.2 CStatic控件的使用 102
6.2.3 CStatic成员函数 103
6.3 CButton家族 103
6.3.1 创建CButton控件 104
6.3.2 CButton控件的使用 108
6.4 小结 109
第7章 用数字绘图:建立一个画图
应用程序 110
7.1 LineOne上的图形 110
7.1.1 LineOne 项目 110
7.1.2 建立项目骨架 110
7.1.3 加入一些线 111
7.2 LineOne内部 112
7.2.1 OnPaint( )是什么 113
7.2.2 获取画布 113
7.2.3 准备环境 114
7.2.4 绘制直线 114
7.3 LineTwo应用程序 115
7.3.1 建立LineTwo 115
7.3.2 LineTwo是如何工作的 116
7.3.3 LineTwo工作的缺陷 117
7.3.4 用ClassWizard添加一个窗口
消息处理函数 117
7.4 Windows的图案绘制 118
7.5 绘图工具 120
7.5.1 库存画笔和画刷 121
7.5.2 库存画笔和画刷的使用 121
7.6 连续绘图 122
7.7 PaintItGray 124
7.8 勇往无前 126
第8章 图形和文本 127
8.1 Windows和GDI的内幕 127
8.2 CDC家族介绍 129
8.3 GDI的画图工具箱 130
8.3.1 CPen. 颜色和其他CDC属性 131
8.3.2 GDI CBrush类 135
8.4 CDC绘画的模式 137
8.5 创建你自己的屏幕保护程序 138
8.6 下一步 141
第9章 建立一个交互式的绘画程序 142
9.1 PaintORama版本1 142
9.1.1 建立PaintORama 143
9.1.2 添加成员变量 144
9.1.3 初始化成员变量 145
9.1.4 添加一个Clear按钮 147
9.1.5 鼠标消息如何工作 148
9.1.6 WM_LBUTTONDOWN:
启动画图 148
9.1.7 WM_LBUTTONUP:画线结束 150
9.1.8 WM_MOUSEMOVE:
使所有像素排成一行 150
9.2 PaintORama版本2:改进画笔 151
9.2.1 Spin控件 152
9.2.2 与代码建立联系 154
9.3 预告 157
第10章 第二代PaintORama 158
10.1 PaintORama版本3:颜色和风格 158
10.1.1 增加多种颜色 158
10.1.2 颜色选择:CColorDialog 158
10.1.3 颜色框绘制 161
10.1.4 单选按钮和画笔风格 162
10.2 PaintORama:线和外形 164
10.2.1 小巧而精美的组合框 164
10.2.2 线和外形 166
10.2.3 橡皮圈的秘密 168
10.3 PaintORama:最终的版本 169
10.3.1 制作列表 169
10.3.2 编写画刷部分的代码 171
10.3.3 添加画刷预览和颜色支持 173
10.4 仍需改进 174
第11章 建立文档和视图 175
11.1 PaintORama :WM_PAINT
的再次处理 175
11.1.1 PaintORama 概览 176
11.1.2 创建CMetaFileDC对象 176
11.1.3 用CMetaFileDC进行记录 177
11.1.4 回放图元文件 180
11.1.5 小的补充 181
11.2 SDIOne :转向DocView 182
11.2.1 建立第一个SDI应用程序 183
11.2.2 在SDIOne 中处理文档 184
11.2.3 SDIOne 中的视图处理 187
11.3 立竿见影 189
第12章 DocView 环境 191
12.1 DocView 概述 191
12.1.1 DocView 程序的类型 191
12.1.2 DocView 的优点 192
12.2 DocView 的组成 192
12.2.1 应用程序类 193
12.2.2 主窗口类 193
12.2.3 文档类 194
12.2.4 视图类 197
12.2.5 权利和义务 198
12.3 CSDIOneApp 的InitInstance() 198
12.3.1 应用程序的建立 200
12.3.2 连接各模块 202
12.3.3 外壳 203
12.3.4 命令行 203
12.3.5 窗口处理 204
12.3.6 CSDIOneApp 的消息映射 204
12.4 下面学习什么 205
第13章 MiniSketch应用程序 206
13.1 名称中有什么 206
13.2 往MiniSketch应用程序
中增加菜单 209
13.2.1 添加菜单标题:
Clear Drawing 210
13.2.2 使用菜单编辑器 210
13.2.3 添加一个菜单项处理过程 212
13.2.4 幕后:ClassWizard的机制 214
13.3 处理画笔 215
13.3.1 添加一个新菜单 215
13.3.2 画笔颜色:添加对话框选项 216
13.3.3 画笔宽度:添加级联式菜单 219
13.4 下一步的工作 222
第14章 菜单. 工具栏和状态栏 224
14.1 命令UI 224
14.1.1 方法1:单独的UI处理函数 225
14.1.2 方法2:多个宏, 一个处理
函数 226
14.1.3 方法3:使用ON_UPDATE_
COMMAND_UI _RANGE
来代替 227
14.2 加速键 227
14.3 工具栏 229
14.3.1 打开颜色设置框—一个命令
按钮式的工具栏按钮 230
14.3.2 添加图形形状类按钮:单选框
按钮和工具栏按钮 232
14.4 状态栏 235
14.4.1 移去不期望的指示器 235
14.4.2 添加自己的指示器 235
14.4.3 添加一个画笔颜色指示器 238
14.5 下一步的工作 243
第15章 保存MiniSketch:操作文档
和文件 244
15.1 点和图形 244
15.1.1 类和属性 245
15.1.2 Shape对象的行为 246
15.2 定义Shape类 246
15.2.1 创建类文件 246
15.2.2 Shape类定义 248
15.2.3 Line类定义 249
15.2.4 Squiggle 类定义 249
15.2.5 FilledShape类定义 250
15.2.6. Box和Oval类定义 251
15.3 实现Shape类 252
15.4 使用Shape类 254
15.5 保存MiniSketch中的数据 256
15.6 序列化 259
15.6.1 MFC序列化细节 260
15.6.2 编写Serialize( ) 260
15.7 还要查看哪些东西 262
第16章 新的视野:翻滚和打印 263
16.1 画刷颜色 263
16.2 把文档和视图联系起来 265
16.2.1 创建新的图形 265
16.2.2 完成该图形的绘制 266
16.2.3 橡皮圈 267
16.3 绘制图形 268
16.3.1 自我描绘图形 268
16.3.2 处理Update( ) 270
16.3.3 重新编写OnDraw( ) 270
16.4 选择视图:映射模式 271
16.4.1 MM_TEXT映射模式 272
16.4.2 设备无关性映射模式 272
16.4.3 调整MiniSketch 应用程序
中的映射模式 273
16.5 翻滚视图 274
16.6 打印和打印预览 276
16.6.1 MFC打印函数 276
16.6.2 MiniSketch应用程序例子 278
16.7 谈谈一个崭新的话题 280
第17章 软件重用:构造一个基于组件
的应用程序 281
17.1 考察Gallery 282
17.2 WordZilla 应用程序范例: 286
17.3 增强WordZilla应用程序 290
17.3.1 安装缺省字体 290
17.3.2 设置一个新字体 291
17.3.3 创建字符属性按钮 293
17.3.4 创建段落属性按钮 294
17.4 在对话框中应用ActiveX 297
第18章 ActiveX和基于组件的
应用程序 298
18.1 给WordZilla添加对话框 299
18.1.1 画一个Select A Date对话框 299
18.1.2 创建对话框类 301
18.1.3 联系该对话框 302
18.2 模态对话框是如何工作的 304
18.2.1 构造一个对话框 305
18.2.2 显示一个对话框 306
18.2.3 对话框的数据传输怎样实现 306
18.2.4 关闭对话框 307
18.2.5 处理OK 307
18.3 使用非模态对话框 308
18.3.1 非模态对话框如何工作 308
18.3.2 WordZilla中的非模态对话框 308
18.4 ActiveX日期捕捉器 313
18.4.1 添加ActiveX控件 313
18.4.2 对话框编辑器中的ActiveX
控件 314
18.4.3 ActiveX控件. 代码和
ClassWizard 316
18.4.4 属性事件和方法 318
18.5 再谈谈ActiveX 318
18.6 接下来的工作:操作存储空间 320
第19章 创建数据库查寻和更新
应用程序 321
19.1 获得一些数据 321
19.2 使用ODBC的非编码记录 322
19.2.1 步骤1:创建一个数据源名称 323
19.2.2 步骤2:使用AppWizard创建一个
ODBC应用程序 325
19.2.3 步骤3:创建你的表单 326
19.2.4 步骤4:联系各部分 328
19.3 往OBos 中添加代码 329
19.3.1 添加一个记录过滤器 330
19.3.2 添加和删除记录 331
19.4 使用DAO 335
19.4.1 创建一个CDaoRecordView
应用程序 336
19.4.2 改进DBos应用程序 338
19.5 使用OLE DB 341
19.6 下一步:ActiveX和简便之途 342
第20章 关系数据库 343
20.1 什么是关系数据? 343
20.1.1 设计图解 343
20.1.2 关键字概念 344
20.2 使用DAO查看数据库 345
20.2.1 DBExplore例子 345
20.2.2 在OnFileOpen( )中使用
DAO类 348
20.2.3 探究其他的对象 349
20.3 关系数据库:SQL 352
20.3.1 SELECT命令 352
20.3.2 选择域 352
20.3.3 选择行:使用Where子句 353
20.3.4 谓词This 353
20.4 ActiveX数据库控件 355
20.5 往 DBExplore中添加ActiveX 356
20.5.1 步骤1:添加ActiveX数据控件 356
20.5.2 步骤2:往主表单添加组件 358
20.5.3 步骤3:创建查询结果对话框 360
20.5.4 步骤4:激活查询按钮 361
20.5.5 工作原理的简单说明 363
20.6 下一步:Web 364
第21章 网络编程:浏览器和其他
客户程序 365
21.1 HTMLView 365
21.2 提供Bowser缺省主页 367
21.2.1 主页源代码 367
21.2.2 理解HTML语言 370
21.2.3 帮助Bowser 找到主页 371
21.3 Visual C++新功能:HTML资源 372
21.3.1 引入Bowser.html 文件 373
21.3.2 引入图形文件 374
21.3.3 使用res:协议 375
21.4 开发导航工具 376
21.4.1 创建工具栏 376
21.4.2. 添加代码 379
21.4.3 处理Open 对话框 381
21.5 使用WinInet类 383
21.5.1 WinInet是什么 384
21.5.2 简单的WinInet应用程序 384
21.5.3 WinInet其他功能 386
21.6 保存自己的Bowser 386
21.7 再见 388
猜您喜欢