1.1.1 示例演示 1
1.1.2 项目对象的分层结构 1
第1章 项目 1
1.1 跟踪项目管理器中的动作 1
1.1.4 Project对象 3
1.1.3 Projects集合 3
1.1.5 ProjectHook对象 6
1.1.7 解读示例 8
1.1.6 Project对象和ProjectHook对象的交互 8
2.1.1 示例演示 10
2.1 使用数据库事件 10
第2章 数据库 10
2.1.2 数据库事件简介 11
2.1.3 获取表单或程序文件所在目录的完整路径名称 13
2.1.5 数据库事件设置 14
2.1.4 打开、关闭数据库设计 14
2.2.1 示例演示 15
2.2 程序化地检查表属性 15
2.2.2 获取表的信息 16
2.2.3 获取字段的信息 17
2.2.4 获取索引的信息 18
2.3.1 示例演示 19
2.3 为字段创建一个默认惟一ID值 19
2.2.5 使用PADL()、PADR()和PADC()函数进行字符填充 19
2.3.2 Visual FoxPro的存储过程 20
2.4 在运行时刻排序 21
2.3.3 为字段指定默认值 21
2.4.2 指定索引的排序方式(升序或降序) 22
2.4.1 示例演示 22
2.5.1 示例演示 23
2.5 使用BINTOC()创建小尺寸索引 23
2.4.3 为表格的列标头指定动作 23
2.5.3 创建二进制索引 24
2.5.2 转换整数到二进制格式 24
2.6.1 示例演示 25
2.6 索引表达式 25
2.6.2 字符型字段与数值型字段的排序规则 26
2.7.2 使用事务处理更新数据的优点 27
2.7.1 示例演示 27
2.7 嵌套事务处理 27
2.7.3 控制事务处理的命令 28
2.7.4 事务处理的规则 29
2.7.5 嵌套事务处理 30
2.8.2 创建参数化视图 31
2.8.1 示例演示 31
2.8 视图/查询——按指定的国家选择客户 31
2.9.2 创建左外连接查询 33
2.9.1 示例演示 33
2.9 视图/查询——从左外连接选择记录 33
2.10.2 创建右外连接查询 35
2.10.1 示例演示 35
2.10 视图/查询——从右外连接选择记录 35
2.11.2 创建完全外连接查询 36
2.11.1 示例演示 36
2.11 视图/查询——从完全外连接选择记录 36
2.12.2 创建内连接查询 37
2.12.1 示例演示 37
2.12 视图/查询——从内连接选择记录 37
2.13.2 创建从内连接和外连接选择记录的查询 38
2.13.1 示例演示 38
2.13 从内连接和外连接选择记录 38
2.14.1 示例演示 39
2.14 从嵌套连接选择记录 39
2.15.1 示例演示 40
2.15 选择10种销售最差的产品 40
2.14.2 创建从嵌套连接选择记录的查询 40
2.15.2 创建选择10种销售最差的产品的查询 41
2.16.2 创建选择10种销售最好的产品的查询 43
2.16.1 示例演示 43
2.16 选择10种销售最好的产品 43
2.17.2 “以交互方式建立SELECT语句”表单设计 44
2.1 7.1 示例演示 44
2.17 以交互方式建立SELECT语句 44
3.1.2 建立调用表单 48
3.1.1 示例演示 48
第3章 表单 48
3.1 从表单返回一个值 48
3.2.1 示例演示 49
3.2 建立一个SDI表单 49
3.1.3 建立被调用的模式表单 49
3.2.3 将其他表单显示在SDI表单中 50
3.2.2 建立SDI表单 50
3.2.5 在SDI表单中加入菜单 51
3.2.4 在SDI表单中加入工具栏 51
3.3.1 示例演示 56
3.3 建立一个查询示例表单 56
3.3.3 查询条件录入设计 57
3.3.2 筛选记录命令SET FILTER TO 57
3.3.4 执行查询设计 58
3.3.5 查看当前工作区的筛选条件 59
3.4.1 示例演示 60
3.4 建立透明表单 60
3.3.6 清除筛选条件 60
3.4.3 SetWindowLong()函数 61
3.4.2 分层窗口 61
3.4.6 调整表单的透明度 62
3.4.5 设置表单为分层窗口 62
3.4.4 SetLayeredWindowAttributes()函数 62
3.5.2 建立表单集 63
3.5.1 示例演示 63
3.5 对象间的引用方法 63
3.5.3 对象的引用方式——直接引用和相对引用 64
3.5.5 独立表单间的对象引用 65
3.5.4 表单集中表单间的对象引用 65
3.6 运行表单的多个实例 66
3.6.3 私有数据工作期与数据环境和工作区的关系 67
3.6.2 什么是私有数据工作期 67
3.6.1 示例演示 67
3.6.4 建立表单的私有数据工作期 68
3.6.6 运行表单的多个实例 69
3.6.5 使用多个表单实例更新数据 69
3.7.2 WinHelp帮助文件 70
3.7.1 示例演示 70
3.7 在表单上提供What's this帮助 70
3.7.3 建立RichText格式文档 71
3.7.4 创建帮助文件 73
3.7.6 使用表单的WhatsThisMode方法启动What's this模式 75
3.7.5 建立What's this表单 75
3.8.1 示例演示 76
3.8 在表单之间传递参数 76
3.7.7 使用控件的ShowWhatsThis方法显示指定帮助信息 76
3.8.2 向被调用表单传递参数 77
3.9 在图像控件中显示图片 78
3.8.3 在表单中接收参数值和向调用表单返回值 78
3.9.2 在列表框控件中显示文件列表 79
3.9.1 示例演示 79
3.9.3 在图像控件中显示图片 80
3.10.2 Visual FoxPro中的图形方法 81
3.10.1 示例演示 81
3.10 表单制图——在表单上画线条和形状 81
3.10.3 Visual FoxPro中的图形属性 85
3.10.4 fdToolBar类设计 87
3.10.5 frmFD类设计 93
3.10.6 在表单集中包含fdmain.scx表单和工具栏 95
3.11.2 选择图形公式 96
3.11.1 示例演示 96
3.11 表单制图——在表单上绘制公式图形 96
3.11.3 绘制极坐标图形引擎PGraph.prg 97
3.11.4 在调整“图形窗口”大小后重绘图形 98
3.12.1 示例演示 99
3.12 表单制图——在表单上显示线形动画 99
3.12.2 动画的实现原理 100
3.12.3 实时显示用户所画线条的形状 101
3.13 数据录入——建立单个表数据录入表单 103
3.13.3 删除记录 104
3.13.2 新增记录 104
3.13.1 示例演示 104
3.14 数据录入——建立一对多数据录入表单 105
3.13.4 过滤掉已添加删除标记的记录 105
3.14.2 在数据环境中建立一对多关系 106
3.14.1 示例演示 106
3.14.4 新增和删除父表中的记录 107
3.14.3 使用表格控件建立一对多关系 107
3.14.5 新增和删除子表中的记录 108
4.1.1 示例演示 110
4.1 在文本框中进行格式化输入和验证数据的有效性 110
第4章 控件 110
4.1.2 文本框的输入、输出格式控制 111
4.1.5 在文本框中接收用户口令 113
4.1.4 在文本框中程序化的选择文本 113
4.1.3 文本框的数据验证设计 113
4.1.6 文本框的日期输入控制 114
4.2 编辑框——编辑备注字段或文本文件 116
4.1.7 设置文本框的数据类型 116
4.2.3 在编辑框中编辑文本文件 117
4.2.2 绑定编辑框数据源到备注字段 117
4.2.1 示例演示 117
4.3.1 示例演示 120
4.3 编辑框——程序化地操纵文本 120
4.3.2 在编辑框中查找指定文本 121
4.3.3 格式化文本控制 124
4.3.4 编辑框中的字符、单词、段落计数 125
4.4 命令按钮设计选项 126
4.4.2 命令按钮的常用设置 127
4.4.1 示例演示 127
4.4.3 命令按钮组的常用设置 128
4.4.5 默认按钮和取消按钮设计 129
4.4.4 命令按钮组的对象引用方法 129
4.5.2 选项按钮组的数据类型设置 130
4.5.1 示例演示 130
4.5 选项按钮——提供给用户一个多项选择 130
4.5.3 设置不具有默认选定按钮的选项按钮组 132
4.6.2 建立图形选项按钮 133
4.6.1 示例演示 133
4.6 选项按钮——在用户选择按钮时改变页面 133
4.6.4 使用MESSAGEBOX()函数提供模式化对话框 135
4.6.3 使用程序化方法激活页框中的页面 135
4.7.1 示例演示 136
4.7 复选框设计选项 136
4.7.4 绑定复选框到数据源 137
4.7.3 复选框的外观设置 137
4.7.2 复选框的有效值 137
4.8.2 列表框的基本属性 138
4.8.1 示例演示 138
4.8 列表框——交互式地添加数据项到列表框中 138
4.8.3 添加数据项到列表框中 140
4.9.1 示例演示 141
4.9 列表框——使用各种数据源填充列表框 141
4.8.4 从列表框中移除数据项 141
4.9.5 使用SQL SELECT语句生成的临时表填充列表框 142
4.9.4 使用表中的数据填充列表框 142
4.9.2 使用AddItem方法填充列表框 142
4.9.3 使用字符串值填充列表框 142
4.9.7 使用数组填充列表框 143
4.9.6 使用查询结果填充列表框 143
4.9.9 使用文件、文件夹名称填充列表框 144
4.9.8 使用字段填充列表框 144
4.9.11 使用弹出式菜单填充列表框 145
4.9.10 使用表结构填充列表框 145
4.9.12 使用集合对象填充列表框 149
4.11.2 在列表框中显示多列 150
4.11.1 示例演示 150
4.10 列表框——列表框数据项排序 150
4.10.1 示例演示 150
4.10.2 通过拖放移动数据项的位置 150
4.10.3 按字母顺序排列数据项 150
4.11 列表框——在列表框中显示多个列 150
4.11.3 指定列间的分割线 151
4.13 列表框——选择并打开多个文件 152
4.12.2 在列表框中选择多个数据项 152
4.12 列表框——在列表框中选择多个数据项 152
4.12.1 示例演示 152
4.14.1 示例演示 153
4.14 列表框——在列表中显示图片 153
4.13.1 示例演示 153
4.13.2 在列表框中显示文件 153
4.13.3 打开多个文件 153
4.14.2 为列表框数据项添加图片 154
4.15.1 示例演示 155
4.15 列表框——在列表框之间移动数据项 155
4.15.2 拖放操作涉及的属性、事件与方法 156
4.15.5 从一个列表框移动所有数据项到另一个列表框 157
4.15.4 通过双击移动数据项 157
4.15.3 在表单启动时填充列表框 157
4.15.7 从一个列表框拖放数据项到另一个列表框 158
4.15.6 从一个列表框移动选定数据项到另一个列表框 158
4.16.1 示例演示 159
4.16 列表框——Treeview/列表框拖放 159
4.16.2 OLE拖放模式 160
4.16.3 DataObject对象 161
4.16.4 拖放数据 162
4.16.5 拖动源设计 165
4.16.6 放落目标设计 166
4.17.2 添加用户文本到组合框下拉列表中 168
4.17.1 示例演示 168
4.17 组合框——向组合框添加新数据项 168
4.17.5 为递增查找输入部分值 169
4.17.4 从下拉列表中选择一个数据项 169
4.17.3 在组合框中输入一个值 169
4.18.1 示例演示 170
4.18 组合框——允许用户选择列表值 170
4.19 计时器——显示一个系统时钟 171
4.18.2 通过组合框或列表框将其他表中的值保存到当前表的字段中 171
4.19.3 Clock类 172
4.19.2 计时器控件 172
4.19.1 示例演示 172
4.20.2 StopWatch类 173
4.20.1 示例演示 173
4.20 计时器——显示一个跑表 173
4.20.3 Swatch.scx表单 174
4.21.2 表单说明 175
4.21.1 示例演示 175
4.21 计时器——按指定的时间间隔执行命令 175
4.22.2 指定表格列中所使用的控件 176
4.22.1 示例演示 176
4.22 表格——在表格中显示控件 176
4.23.2 ChildOrder、LinkMaster和RelationalExpr属性 177
4.23.1 示例演示 177
4.23 表格——显示一个关系的子记录 177
4.23.3 本节示例中的一对多关系 178
4.24.2 为表格列的ControlSource属性指定一个计算表达式 179
4.24.1 示例演示 179
4.24 表格——在列中显示计算后的值 179
4.25.1 示例演示 180
4.25 表格——动态格式化表格列 180
4.25.3 IIF()函数和ICASE()函数 181
4.25.2 表格列的动态属性 181
4.25.4 本节示例表格中的动态属性设置 182
4.26.2 取消页框的选项卡显示 183
4.26.1 示例演示 183
4.26 页框——显示无选项卡的各个页面 183
4.27.1 示例演示 184
4.27 页框——在运行时刻改变选项卡的数目 184
4.26.3 激活无选项卡的页面 184
4.27.2 在运行时刻改变页框的选项卡数目 185
4.28.2 实现控件的热点跟踪和悬停效果 186
4.28.1 示例演示 186
4.28 常规——热点跟踪和悬停效果 186
4.29.1 示例演示 187
4.29 常规——允许用户拖放控件 187
4.28.3 更好地控制控件的动态效果 187
4.29.3 自动拖放 188
4.29.2 手动拖放 188
4.30.2 Resizable类 189
4.30.1 示例演示 189
4.30 常规——在运行时刻调整和重新定位控件 189
4.30.3 在表单中使用Resizable类 191
5.1.2 创建一个工具栏类 192
5.1.1 示例演示 192
第5章 工具栏 192
5.1 改变字体属性 192
5.1.3 为表单添加工具栏 193
5.1.4 为表单控件交互的工具栏设计方法 194
5.2.2 工具栏设计 195
5.2.1 示例演示 195
5.2 使菜单项和工具栏按钮协同工作 195
5.3.1 示例演示 196
5.3 使用新类型的工具栏 196
5.2.3 与工具栏协同工作的菜单设计 196
5.3.3 通过工具栏中的控件显示快捷菜单 197
5.3.2 为控件设置热点跟踪效果 197
6.1.1 示例演示 200
6.1 在运行时刻添加菜单项 200
第6章 菜单 200
6.1.3 使用菜单设计器建立一般菜单 201
6.1.2 一般菜单系统的组成 201
6.1.4 使用命令建立一般菜单 206
6.2.2 在表单启动时加载菜单 211
6.2.1 示例演示 211
6.2 废止一个菜单项或在菜单项旁边显示一个复选标记 211
6.3.2 建立MRU型菜单 212
6.3.1 示例演示 212
6.2.3 废止和启用菜单项 212
6.2.4 为菜单项添加和清除标记 212
6.3 添加个性化菜单 212
6.4 向SDI表单添加菜单 214
6.4.3 将菜单加入到SDI表单中 215
6.4.2 建立SDI表单 215
64.1 示例演示 215
6.5.1 示例演示 218
6.5 显示快捷菜单 218
6.5.2 使用菜单设计器建立快捷菜单 219
6.6.1 示例演示 223
6.6 创建动态快捷菜单 223
6.5.3 使用命令建立快捷菜单 223
6.6.2 MenuLib类 224
6.6.3 建立动态快捷菜单 225
7.1.1 示例演示 227
7.1 处理常用窗口任务 227
第7章 基本类 227
7.1.2 _WindowHandler类 228
7.1.3 随机生成窗口 229
7.2.1 示例演示 230
7.2 处理数据冲突 230
7.1.4 层叠窗口 230
7.1.5 重排所有窗口 230
7.2.3 Visual FoxPro的缓冲技术 231
7.2.2 _Conflicts类 231
7.2.4 缓冲模式下的数据更新 232
7.3 处理应用程序环境任务 237
7.3.2 使用_SysToolbars类隐藏/显示系统工具栏 238
7.3.1 示例演示 238
7.3.3 使用_ObjectState类保存/恢复对象的属性设置 239
7.3.4 使用_DataSession类处理数据更新操作 240
7.3.5 使用_TraceAwareTimer类处理数据更新操作 241
7.4 以图表形式实时显示记录 242
7.4.2 使用_GraphByRecord类显示图表 243
7.4.1 示例演示 243
7.4.3 Microsoft Graph简介 244
7.4.4 将Microsoft Graph嵌入到通用字段中 247
7.4.5 在表单中显示图表 248
7.4.6 打印图表 250
7.5.2 PicFormBtns类 251
7.5.1 示例演示 251
7.5 对简单表单使用编辑按钮 251
7.6 对复杂表单使用编辑按钮 256
7.6.1 示例演示 256
7.6.2 PicBtns类 257
7.7.2 _CryptAPI类 258
7.7.1 示例演示 258
7.7 给应用程序添加加密 258
7.7.4 使用_CryptAPI类加密/解密文件 260
7.7.3 使用_CryptAPI类加密/解密字符串 260
7.7.5 使用_CryptAPI类加密/解密数据表中的字段 261
7.7.6 使用_CryptAPI类进行文件签名 262
7.8.2 _Folder类 263
7.8.1 示例演示 263
7.8 检索项目位置和名称 263
7.9.1 示例演示 265
7.9 建立突出显示控件效果 265
7.10.1 示例演示 266
7.10 建立一个Visual FoxPro网页浏览器 266
7.9.2 _MouseOverfx类 266
7.9.3 使用_MouseOverfx类为控件添加突出显示效果 266
7.10.2 _WebBrowser4类 267
7.10.3 建立网页浏览器 271
7.11.1 示例演示 272
7.11 扩展SetAll()方法 272
7.11.2 使用SetAll()方法和_SetAllX类设置多个对象的属性 273
7.12.2 GenHtml.prg 274
7.12.1 示例演示 274
7.12 从数据表和报表文件生成HTML 274
7.12.3 使用_Dbf2Html类输出数据表到HTML中 275
7.13.1 示例演示 277
7.13 使用_PoolManager类简化类的调用过程 277
7 12.4 使用_Frx2Html类转换报表为HTML 277
7.13.2 _PoolManager类 278
7.13.3 使用对象池管理对象 279
7.14.2 Microsoft Agent简介 281
7.14.1 示例演示 281
7.14 使用Microsof tAgent为应用程序添加动画助手 281
7.14.4 Microsoft Agent控件 282
7.14.3 安装Microsoft Agent 282
7.14.5 _Agent类 287
7.15.1 示例演示 289
7.15 使用进度条 289
7.14.6 使用_Agent类装载角色 289
7.14.7 使用_Agent类开始/停止播放动画 289
7.14.8 使用_Agent类进行语音输出 289
7.15.2 使用_Thermometer类实现进度条 290
7.16.2 使用_ArrayLib类进行数组操作 291
7.16.1 示例演示 291
7.16 使用数组处理器 291
7.17.2 使用_Login类建立登录对话框 292
7.17.1 示例演示 292
7.17 使用通用应用程序对话框 292
7.17.4 使用_AboutBox类建立“关于”对话框 294
7.17.3 使用_Splash类建立欢迎窗口 294
7.17.6 使用_LocateItem类建立“定位项目”对话框 295
7.17.5 使用_Keywords类建立“关键字”对话框 295
7.18.1 示例演示 296
7.18 使用规则表达式查找匹配字符串 296
7.1 8.3 Visual FoxPro的规则表达式 297
7.18.2 什么是规则表达式 297
7.1 8.4 使用_RegExp类执行规则表达式 299
7.19.2 _Nav2Buttons类和_Nav2PicButtons类 300
7.19.1 示例演示 300
7.19 添加导航到表单中 300
7.19.4 使用_TableNav类进行记录导航 301
7.19.3 _Nav4Buttons类和_Nav4PicButtons类 301
7.20.1 示例演示 302
7.20 添加各种表单按钮 302
7.19.5 使用_GotoButton类进行记录定位 302
7.20.3 使用_cmdOk类释放表单 303
7.20.2 使用_cmdLaunch类启动应用程序 303
7.20.5 使用_ShellExecute类执行非Visual FoxPro程序 304
7.20.4 使用_cmdRunForm类运行表单 304
7.20.7 使用_cmdRunReport类输出报表 305
7.20.6 使用_cmdCancel类释放表单 305
7.20.8 使用_MailBtn类发送邮件 306
7.20.9 使用HTML Help Workshop建立上下文相关HTML帮助 307
7.21.1 示例演示 313
7.21 添加数据绑定日历 313
7.20.10 使用_cmdHelp类打开指定的帮助主题 313
7.21.2 使用_oleCalendar类进行日期设置 314
7.22.2 使用_FindButton类和_FindNextButtons类进行数据查询 315
7.22.1 示例演示 315
7.22 添加数据查询到表单中 315
7.22.3 使用_LocateButton类调用“查找”对话框 317
7.23.2 使用_cboDistinctValues类进行数据查询 318
7.23.1 示例演示 318
7.23 添加数据查找组合框 318
7.24.1 示例演示 319
7.24 添加数据排序和筛选到表单中 319
7.24.3 使用_FilterButton类调用筛选对话框 320
7.24.2 使用_SortButton类调用“排序”对话框 320
7.24.5 使用_FilterDialog类建立筛选表达式对话框 321
7.24.4 使用_FilterExpr类建立筛选表达式对话框 321
7.24.7 使用_NavToolbarClass类调用“导航”工具栏 322
7.24.6 使用_NavMenu类建立导航快捷菜单 322
7.25.2 使_HyperlinkLabel、_HyperlinkImage、_HyperlinkCommandButton类导航到指定URL 323
7.25.1 示例演示 323
7.25 添加网页超级链接到表单中 323
7.26.1 示例演示 324
7.26 显示数据报表输出选项 324
7.25.3 使用URLComboBox类导航到指定URL 324
7.26.3 使用_ShowText类建立文本查看器 325
7.26.2 使用_OutputDialog类进行多种格式的报表输出 325
7.27.2 使用_ShortcutMenu类建立快捷菜单 326
7.27.1 示例演示 326
7.27 向对象添加快捷菜单 326
7.28.1 示例演示 328
7.28 应用程序错误处理 328
7.28.2 使用_Error类进行错误处理 329
7.29.2 Windows徽标计划 330
7.29.1 示例演示 330
7.29 Windows徽标信息 330
7.29.3 使用_CommonFolder类获取系统文件夹的位置 331
7.29.4 使用_SysMetrics类获取系统信息 333
7.29.5 使用_UserPriv类获取用户的存取权限 334
7.30.1 示例演示 335
7.30 执行Word、Excel和Graph的自动化操作 335
7.30.2 使用_XTab类生成交叉表 336
7.30.3 使用MailMerge类实现邮件合并 338
7.30.4 使用PivotTable类实现数据透视表 339
7.30.5 使用AutoGraph类生成图表 340
8.1.1 示例演示 343
8.1 Access/Assign方法的功能 343
第8章 编程 343
8.1.3 使用Assign方法验证数据的有效性 344
8.1.2 创建Access和Assign方法 344
8.1.4 使用Access方法动态建立对象 345
8.1.6 通过Access/Assign方法使用数组来模拟集合支持 346
8.1.5 使用This_Access方法动态建立属性 346
8.2.2 获取OLE拖放时可用的数据格式 348
8.2.1 示例演示 348
8.2 OLE拖放的数据格式 348
8.3.2 拖放列表框中数据项到表单中 350
8.3.1 示例演示 350
8.3 实现OLE拖放 350
8.3.3 拖放文本到文本框中 352
8.3.4 从Windows资源管理器中拖放文件到列表框中 353
8.3.5 拖动表单中的对象到一个新位置 354
9.1.1 示例演示 355
9.1 按目录格式打印报表 355
第9章 报表 355
9.1.3 为报表添加标题栏 356
9.1.2 建立报表的数据环境 356
9.1.4 为报表建立文字环绕和交换图片显示位置效果 357
9.2.1 示例演示 362
9.2 按帐务型打印报表细节带区 362
9.2.3 为矩形指定打印条件 363
9.2.2 报表的变量设置 363
9.3.1 示例演示 364
9.3 打印客户邮件标签 364
9.4.1 示例演示 365
9.4 打印数据字典信息 365
9.3.2 设置标签的分栏打印 365
9.4.2 使用命令动态建立报表 366
9.5.1 示例演示 369
9.5 打印一个货物清单 369
9.5.2 使用视图作为报表的数据源 370
9.5.3 建立报表的数据分组 374
9.6.1 示例演示 375
9.6 在报表中打印一个总计的百分比 375
9.6.2 使用数据分组求小计 376
9.7.1 示例演示 377
9.7 使用条件表达式设置信息显示格式 377
9.6.3 显示百分比 377
9.7.2 指定域控件的打印条件 378
10.1.3 MAPI控件简介 379
10.1.2 使用MailBtn类发送邮件 379
第10章 ActiveX 379
10.1 发送电子邮件 379
10.1.1 示例演示 379
10.1.5 MAPI Messages控件的属性和方法 380
10.1.4 Microsoft MAPI Session控件的属性和方法 380
10.1.6 发送带附件的电子邮件 382
10.2.1 示例演示 384
10.2 使用RichText控件 384
10.2.2 Rich TextBox控件的属性 385
10.2.4 Rich TextBox控件的方法 386
10.2.3 Rich TextBox控件的事件 386
10.2.5 Rich TextBox控件示例 388
10.3.2 Slider控件的属性和事件 389
10.3.1 示例演示 389
10.3 使用Slider控件和StatusBar控件 389
10.3.3 StatusBar控件的属性 390
10.3.5 Slider和StatusBar控件示例 392
10.3.4 StatusBar控件的事件和方法 392
10.4.2 TreeView控件的属性 393
10.4.1 示例演示 393
10.4 实现项目的分层显示 393
10.4.3 Nodes集合的属性和方法 395
10.4.5 TreeView控件示例 396
10.4.4 TreeView控件的事件 396
10.5.2 在TreeView控件中新增节点 398
10.5.1 示例演示 398
10.5 在TreeView控件中添加和删除项目 398
10.5.4 保存/恢复TreeView控件中的节点信息 399
10.5.3 在TreeView控件中删除节点 399
10.6.2 SysInfo控件属性 401
10.6.1 示例演示 401
10.5.5 以编程方式选定TreeView控件中的节点 401
10.6 显示系统信息 401
10.6.3 SysInfo控件的事件 402
10.6.4 SysInfo控件示例 403
10.7 在ActiveX控件中播放AVI文件 404
10.7.2 Multimedia控件的属性 405
10.7.1 示例演示 405
10.7.4 Multimedia控件示例 408
10.7.3 Multimedia控件的事件 408
10.8.2 Common Dialog控件的属性和方法 411
10.8.1 示例演示 411
10.8 自定义“打开”对话框 411
10.8.3 Common Dialog控件示例 413
10.9.2 在表单中显示图表 414
10.9.1 示例演示 414
10.9 按季度打印产品销售定单 414
10.9.3 在报表中打印图表 417
10.10.2 指定图形的类型 418
10.10.1 示例演示 418
10.10 操作图形的显示特征 418
10.11.2 动态刷新图表 419
10.11.1 示例演示 419
10.10.3 为图表指定标题和图例 419
10.11 在表单中刷新图表 419
10.12.1 示例演示 420
10.12 在表单中自动调用Microsoft Word文档 420
10.12.3 建立OLE对象 421
10.12.2 向表单中嵌入OLE对象 421
10.13.2 生成Excel电子表格 423
10.13.1 示例演示 423
10.13 自动调用Microsoft Excel电子表格 423
10.14.1 示例演示 427
10.14 自动调用Microsoft Word和Excel 427
10.13.3 使用Excel的Chart对象生成图表 427
10.14.2 从Excel复制图表到Word中 428
10.14.3 Word常用命令 429
11.1.2 从结构中获取数据 433
11.1.1 示例演示 433
第11章 Windows API 433
11.1 使用需要结构的API函数 433
11.1.3 建立API函数所需要的结构 435
11.2.2 获取Windows的外观颜色 436
11.2.1 示例演示 436
11.2 使用需要指向数组的API函数 436
11.2.3 设置Windows的外观颜色 437
11.3.1 示例演示 438
11.3 使用MCI命令播放多媒体文件 438
11.3.2 进行多媒体播放的API函数 439
11.3.3 打开多媒体文件 440
11.4.1 示例演示 442
11.4 获取版本信息 442
11.3.4 播放多媒体文件 442
11.4.2 使用AGETFILEVERSION()函数获取文件的资源信息 443
11.5.2 使用FoxReg类操作注册表 445
11.5.1 示例演示 445
11.5 读取和写入VFP的注册表值 445
11.6.2 使用ODBCReg类获取注册表中的ODBC信息 448
11.6.1 示例演示 448
11.6 读取ODBC的注册表值 448
11.7 从Windows注册表获取应用程序信息 449
11.7.2 使用FileReg类获取注册表中的文件信息 450
11.7.1 示例演示 450
11.8.2 使用_TypeLib类读取类型库信息 451
11.8.1 示例演示 451
11.8 查看类型库信息 451
12.1.2 事件绑定 452
12.1.1 示例演示 452
第12章 Visual FoxPro 8.0的新增功能 452
12.1 使用BINDEVENTS()、RAISEEVENTS()和AEVENTS() 452
12.1.3 检测事件绑定数目 453
12.1.4 解除事件绑定 454
12.2.1 示例演示 455
12.2 结构化异常处理 455
12.1.5 使用代码引发一个事件 455
12.2.2 TRY...CATCH...FINALLY命令 456
12.2.3 Exception对象 458
12.2.5 使用THROW[eUserExpression] 459
12.2.4 TRY...CATCH结构的嵌套处理 459
12.2.6 FINALLY子句 460
12.2.8 ON ERROR错误处理与结构化异常处理的区别 461
12.2.7 TRY...CATCH...FINALLY块中的命令限制 461
12.3.1 示例演示 462
12.3 使用COMARRAY()函数和强类型数组 462
12.3.2 如何创建自动服务程序 463
12.3.3 编译自动服务程序 465
12.3.4 注册自动服务程序 466
12.3.5 使用自动服务程序 467
12.4.2 保存表单的属性设置到一个数据表中 468
12.4.1 示例演示 468
12.4 从一个数据表中恢复表单的属性设置 468
12.5.1 示例演示 469
12.5 Windows XP主题支持 469
12.4.3 从一个数据表中恢复表单的属性设置 469
12.6 建立不规则形状窗口 470
12.5.3 在表单和控件级设置Windows XP主题效果 470
12.5.2 在应用程序级设置Windows XP主题效果 470
12.6.3 建立不规则窗口示例 471
12.6.2 建立不规则窗口的原理 471
12.6.1 示例演示 471
12.7.1 示例演示 472
12.7 系统托盘图标示例 472
12.7.3 Systray类的属性、方法和事件 473
12.7.2 Systray类简介 473
12.7.5 在系统托盘中添加图标动画 476
12.7.4 基本的系统托盘设置 476
12.7.7 使用数字标记和文本定义菜单 477
12.7.6 在系统托盘中使用气球提示 477
12.7.8 使用菜单文件(MPR)定义菜单 478
12.7.9 通过ShowMenu()方法指定显示的菜单 479
12.7.10 图标的双击事件处理 480
12.8.4 获取Messenger中的联系人信息 481
12.8.3 Messenger注销 481
12.8 控制MSN Messenger 481
12.8.1 示例演示 481
12.8.2 Messenger注册 481
12.8.9 获得当前MSN Messenger设置 482
12.8.8 发送文件 482
12.8.5 打开与指定联系人的对话窗口 482
12.8.6 打开MSN Messenger窗口 482
12.8.7 打开邮件窗口 482
12.8.10 使用Windows Scripting Host向活动窗口发送指令 483
12.9.1 示例演示 485
12.9 表格的突出显示、自动适应列宽和图像列标头 485
12.9.4 锁定表格列 486
12.9.3 自适应列宽设置 486
12.9.2 表格行的突出显示设置 486
12.10.1 示例演示 487
12.10 使用成员类 487
12.9.5 为列标头指定一个图像文件 487
12.10.3 成员类示例 488
12.10.2 成员类简介 488
12.11.2 CursorAdapter对象的属性 491
12.11.1 示例演示 491
12.11 使用CursorAdapter管理数据访问 491
12.11.3 CursorAdapter对象的方法 495
12.11.4 CursorAdapter对象的事件 497
12.11.5 使用本地数据源 500
12.11.6 使用ODBC数据源 504
12.11.7 使用ADO数据源 506
12.12 使用XMLAdapter类加载和生成XML 514
12.12.1 示例演示 515
12.12.2 XMLAdapter简介 515
12.12.3 XMLAdapter对象的属性 516
12.12.4 XMLAdapter对象的方法 519
12.12.5 XMLAdapter对象的Tables集合 521
12.12.6 转换XML到临时表 523
12.12.7 转换XML架构中的数据类型 525
12.12.8 转换临时表为XML 526
12.12.9 在XMLAdapter中使用Diffgrams 527
12.13 从XMLDataset建立临时表 529
12.13.1 示例演示 529
12.13.2 加载XML到临时表中 530
12.13.3 控制数据绑定 530
12.13.4 使用XMLAdapter生成XMLDiffGrams 530
12.14 VFP/VB.NET XML Web服务示例 531
12.14.1 Web服务的架构 531
12.14.2 建立COM服务程序 532
12.14.3 安装Internet信息服务(IIS)并建立虚拟目录 533
12.14.4 创建并发布Web服务 535
12.14.5 使用Web服务 536
12.14.6 分发Web服务 538
13.1 典型的多细节带区报表 540
13.1.1 示例演示 540
第13章 Visual FoxPro 9.0的新增功能 540
13.1.2 报表数据环境中的一对多关系 541
13.1.3 在表单使用一对多关系显示多个子表的内容 543
13.1.4 报表的驱动别名与目标别名 545
13.1.5 建立多细节带区报表 546
13.2 包含计算的多细节带区报表 550
13.2.1 示例演示 550
13.2.2 报表变量和计算字段的作用域 551
13.2.3 建立包含计算的多细节带区报表 551
13.3 使用ReportListener进行动态格式化 555
13.3.1 示例演示 555
13.3.2 Visual FoxPro 9.0报表的对象支持架构 556
13.3.3 ReportListener对象的属性、事件和方法 560
13.3.4 Visual FoxPro报表定义文件(FRX)的结构 572
13.3.5 在报表定义文件的USER字段中加入指令 581
13.3.6 建立ReportListener派生类 583
13.4 使用GDI+建立柱形图表 587
13.4.1 示例演示 588
13.4.2 ReportListener的GDI+支持 588
13.4.3 GDI Plus API封装基础类库 591
13.4.4 使用GDI+在表单中绘图 612
13.4.5 使用GDI+在报表中绘图 613
13.5 使用ReportListener进行HTML、XML和TIFF输出 620
13.5.1 示例演示 620
13.5.2 XmlListener类 622
13.5.3 HtmlListener类 625
13.5.4 报表输出应用程序ReportOutput.app 625
13.5.5 使用ReportOutput.app输出报表到HTML文件中 628
13.5.6 使用ReportOutput.app输出报表到XML文件中 628
13.5.7 使用ReportListener的OutputPage方法输出报表到TIFF文件中 629
13.6.1 示例演示 630
13.6.2 同时进行多种输出 630
13.6 使用ReportListener同时进行多种输出 630
13.7 添加一个自定义报表预览容器到表单中 631
13.7.1 示例演示 631
13.7.2 表单设计 632
13.7.3 在表单的形状对象oPreviewContainer中显示报表 633
13.7.4 “上一页”和“下一页”按钮设计 633
13.7.6 关闭报表预览 634
13.7.7 建立可调整报表显示比例的预览表单 634
13.7.5 重绘显示在表单中的报表 634
13.8 控制报表的预览窗口 638
13.8.1 示例演示 638
13.8.2 报表预览应用程序接口和报表预览程序 639
13.8.3 定制Visual FoxPro默认的报表预览程序 644
13.8.4 解读示例 645
13.9 可停靠的图片查看器 646
13.9.1 示例演示 646
13.9.2 Visual FoxPro 9.0对可停靠表单的操作支持 647
13.9.3 Image控件的PictureVal属性 650
13.9.4 示例表单的界面设计 651
13.9.5 添加图像文件到数据表的Blob型字段中及图像显示设置 651
13.9.6 表单停靠后的界面切换设计 652
13.9.7 在Grid(表格)中使用Image控件 653
13.10.1 示例演示 655
13.10.2 控件的Anchor属性 655
13.10 锚定控件 655
13.10.3 使用Anchor Editor(锚定编辑器)设置Anchor属性 656
13.10.4 该示例中控件的Anchor属性设置 657
13.11.1 示例演示 658
13.11.2 PolyPoints属性 658
13.11 多边形功能 658
13.11.3 LineSlant属性 660
13.11.4 控件的旋转设置 661
13.12.1 示例演示 662
13.12.2 递归调用 662
13.12 对损坏的备注字段进行扫描 662
13.12.3 Visual FoxPro的文件结构 663
13.12.4 示例中的扫描设计 664
13.13 绑定Windows消息事件 666
13.13.1 示例演示 666
13.13.2 BINDEVENT()函数的新功能 667
13.13.3 示例中的BINDEVENT()函数应用 668
13.14 FoxCode菜单脚本 670
13.14.1 示例演示 670
13.14.2 IntelliSense表的结构 672
13.14.3 编辑IntelliSense表中的记录 673
13.14.4 建立IntelliSense脚本 674
13.14.5 FoxCode对象 675
13.14.6 MenuHit脚本 676
13.14.7 MenuContext脚本 678
13.15 代码范围分析器的性能分析外接程序 680
13.15.1 示例演示 680
13.15.2 CovperfAddinfs.scx外接程序的功能 682
13.16.1 示例演示 683
13.16.2 数值转换为二进制字符串的原理 683
13.16 二进制转换 683
13.16.3 BINTOC()函数 684
13.16.4 CTOBIN()函数 686
13.17 Fox媒体播放器 687
13.17.1 示例演示 688
13.17.2 Windows Media Player控件 688
13.17.3 建立媒体播放器 690
13.18 控制按钮的标题和图片位置 691
13.18.1 示例演示 691
13.18.2 命令按钮、选项按钮和复选框标题的换行显示 692
13.18.3 指定图片在控件中的位置、边距和间距 693