目录 1
译者序 1
引言 1
第1章 控件 1
1.1 在列表中进行严格的字符串查找 2
1.2 动态地在窗口中加入控件 4
1.3 在下拉列表框中进行一次增量查找 13
1.4 使用一个标签控件 16
1.5 使用树状视图和列表视图控件 21
第2章 通用窗口技术 32
2.1 在关闭一个窗口前检查是否有尚未存盘的操作 33
2.2 继承一个窗口 36
2.3 在应用程序启动期间呈现一个splash窗口 41
2.4 在登录屏幕上生成一幅活动的图片 44
2.5 在窗口之间传递参数 47
2.6 在窗口改变大小时调整窗口内的控件 54
第3章 应用程序的风格 61
3.1 利用一个公用对象库进行登录、存取访问数据库和应用程序的信息 62
3.2 如何建立并使用SDI应用程序 69
3.3 利用工作簿应用程序风格建立一个动态项目目录 77
3.4 利用工作区应用程序风格存取基于对象类的应用程序部件 86
第4章 通用应用程序技术 104
4.1 在登记表中保留应用程序的设置 104
4.2 在运行时获取环境的描述 111
4.3 编写一个系统级的出错处理程序用以替代标准的PowerBuilder出错处理程序 117
第5章 拖放技术 125
5.1 在图标被拖到不正确目标上时改变它的图案 125
5.2 把数据项从一个数据窗口拖到另一个数据窗口 134
5.3 在窗口间拖动 140
5.4 使用拖放技术与其它使用 144
OLE2.0 的应用交互 144
第6章 菜单的基本知识 149
6.1 建立一个菜单并继承它 150
6.2 在运行时刻改变菜单 163
6.3 在应用程序中管理工具条 167
6.4 使用弹出式菜单 176
第7章 数据库对象 183
7.1 创建数据库 185
7.2 定义表、主键、外键 187
7.3 预览数据 190
7.4 输入输出数据 192
7.5 创建视图 193
7.6 保存更改到修改日志中 195
7.7 执行SQL脚本 197
7.8 建立显示格式 199
7.9 建立编辑风格 202
7.10 建立有效性规则 205
8.1 将应用连接到数据库 208
第8章 数据库编程 208
8.2 使用嵌入的SQL 218
8.3 使用动态SQL 229
8.4 在运行时与DBMS无关地查询系统 242
目录 242
第9章 数据窗口和报表画板 249
9.1 生成一个计算列 250
9.2 用报表画板生成临时报表 252
9.3 生成一个计算域 255
9.4 有条件地设置数据窗口各列的属性 258
9.5 创建一个基于两个表的可更新的数据窗口 261
9.6 用大文本格式(RTF)创建一个表格信件 264
9.7 用QLE2.0风格创建一个Microsoft 266
Graph 266
第10章 数据窗口基础 271
10.1 在应用中使用数据窗口 272
10.2 当用户双击一个域时显示一个选项列表 280
10.3 利用数据窗口生成报表 295
10.4 根据其它域修改下拉框的内容 310
10.5 排序和过滤数据窗口 320
第11章 数据窗口更新 328
11.1 在数据窗口中提供自定义的错误处理 328
11.2 协调多个数据窗口的更新 342
11.3 用嵌入式SQL语句实现自定义数据窗口的更新 349
第12章 动态数据窗口的使用 370
12.1 在运行时创建一个数据窗口对象 370
12.2 在运行时修改数据窗口的SQL 377
12.3 在运行时修改数据窗口的列 384
12.4 在运行时增加和修改数据窗口对象 389
12.5 在PowerBuilder库或数据库中保存和装载DataWindow对象定义 393
第13章 在OLE 2.0下工作 397
13.1 使用OLE 2.0控件 398
13.2 在内存中使用OLE 2.0对象 403
13.3 有效地使用OLE 2.0控件的激活 407
13.4 使用OLE 2.0的自定义控件 409
(OCX) 409
13.5 为了加强标准而创建PowerBuilder的OLE自动化服务器 411
第14章 用户定义的函数 418
14.1 声明一个全局函数 420
14.2 在函数中使用嵌入式SQL语句 423
14.3 建立一个字符串语法分析器 428
14.4 声明一个对象级函数 432
14.5 关闭所有打开的MDI工作表 437
14.6 隐藏对象级函数 439
14.7 建立一个定制的用户输入项 444
消息框 444
第15章 外部函数介绍 448
15.1 测定Windows API占用内存的 450
数量 450
15.2 向外部函数传递变量 453
15.3 向外部函数传递结构 457
15.4 在一个PowerBuilder应用中打开另一个应用 460
15.5 使用外部子程序 464
15.6 用ODBC API从数据库中获取信息 466
15.7 测定另一个应用何时结束 478
15.8 用多媒体API演奏一个.WAV 482
文件 482
15.9 用多媒体API播放一段图象 485
第16章 用户对象 490
16.1 如何创建标准的用户对象 492
16.2 创建定制的用户对象 496
16.3 添加用户事件到用户对象 502
16.4 使用.OCX定制控件 514
16.5 创建一个定制的类用户对象 519
16.6 定制报错对象 525
16.7 定制消息对象 530
16.8 创建定制的事务对象 534
17.1 在窗口中触发和异步触发事件 539
第17章 事件驱动程序设计 539
17.2 在触发事件时传递参数 544
17.3 用变参传递事件参数 548
第18章 面向对象的程序设计 554
18.1 隐藏对象的属性 555
18.2 重载对象函数 560
18.3 将消息传递给对象 568
18.4 类的共享变量和实例变量 572
18.5 编写一个脚本查找窗口未被存储的改变并存储之 579
18.6 用自定义的用户对象实现业务 584
规则 584
第19章 配置信息 598
19.1 编译一个PowerBuilder应用程序 598
19.2 如何创建一个动态链接库 601
19.3 使用注册登记表来安装一个应用 602
程序 602