目录 1
第1章窗口、控件与界面 1
1.1类Outlook工具栏界面实现 2
1.1.1创建Outlook工具栏用户对象 2
1.1.2使用Outlook工具栏用户对象 19
1.2制作Splash窗口 23
1.3制作美观的状态条 24
1.4实现图标栏应用 27
1.4.1实例运行效果 27
1.4.2实例创建步骤 27
1.5 MDI窗口显示背景图片 33
1.5.1 API调用 34
1.5.2利用Child类型特殊窗口 39
1.6.1创建ToolTips用户对象 40
1.6窗口中控件显示ToolTips 40
1.6.2窗口中使用ToolTips用户对象 47
1.6.3ToolTips用户对象应用于数据窗口 48
1.7打造不一样的命令按钮 50
1.7.1利用数据窗口对象制作图片按钮 50
1.7.2利用用户对象制作图标按钮 52
1.7.3利用数据窗口对象制作透明按钮 57
1.8透明文本的实现 59
1.9导航图界面的制作 60
1.10制作图文并茂的菜单 63
1.11 窗口内控件大小与窗口大小同步 66
1.12动态创建控件 72
1.12.1一般动态创建方法 72
1.12.2动态创建能响应操作的控件 73
1.13控件融合技术 75
1.13.1创建分割条用户对象 75
1.13.2使用分割条用户对象 79
1.14 小结 81
第2章数据窗口技术 83
2.1数据窗口PDF格式文档输出 84
2.1.1 Distill提取方式 85
2.1.2使用XSL-FO方式保存PDF文档 87
2.2数据窗口组合条件查询 88
2.3数据窗口通用排序 102
2.4数据窗口通用显示列定制窗口的实现 110
2.5数据窗口中实现增量查询 119
2.6数据窗口的多表更新 121
2.7单击标题栏对数据窗口排序 123
2.7.1利用资源文件 124
2.7.2利用透明文本 126
2.8.2动态数据窗口相关函数 128
2.8.1动态数据窗口的应用 128
2.8动态数据窗口 128
2.8.3常见创建方法 129
2.9复合数据窗口 134
2.9.1复合数据窗口原理 134
2.9.2常用组合数据窗口技术 135
2.10数据窗口打印处理 139
2.10.1 可用于打印的数据窗口 139
2.10.2经常遇到的打印任务及处理方法 140
2.10.3打印相关函数 141
2.10.4一个打印预览窗口的建立 142
2.11 数据窗口统计图类型的动态改变 153
2.12数据窗口统计图数值动态显示的实现 160
2.13数据窗口中按钮的封装 163
2.14小结 168
第3章PowerScript编程 169
3.1使用源代码编辑器 170
3.2实现客户端程序的自动升级 172
3.3进制转换 178
3.4注册表函数应用 185
3.4.1函数简介 185
3.4.2 实例应用 187
3.5人民币大写转换函数 190
3.6在应用程序中关闭外部程序 193
3.7在应用程序中启动控制面板项目 195
3.8非Tab分隔符文本文件导入数据窗口 198
3.9编译后的程序带参数运行 203
3.10取当月的最后一天函数 204
3.11 限制同一程序多次运行 205
3.12小结 207
第4章数据库与SQL 209
4.1.1 PowerBuilder与Oracle数据库的连接 210
4.1 PowerBuilder与常见数据库的连接配置 210
4.1.2 PowerBuilder与Microsoft SQL Server数据库的连接 216
4.1.3常见数据库连接参数说明 220
4.2PowerBuilder+ASA8的C/S编程 227
4.2.1 数据库服务器端安装配置 227
4.2.2客户端安装配置 229
4.2.3启动、连接及关闭数据库 231
4.2.4编写程序 232
4.3数据库的并发控制 234
4.3.1背景知识 234
4.3.2 PowerBuilder中的并发控制 236
4.4动态SQL及其应用 239
4.4.1动态SQL的四种格式 239
4.4.2使用动态SQL的一个实例 244
4.5存取二进制大对象 247
4.6.1取Oracle数据库服务器时间 251
4.6 PowerBuilder应用取服务器时间 251
4.6.2取SQLServer、Sybase、ASA数据库服务器时间 252
4.7 PowerBuilder扩展属性系统表及其应用 253
4.7.1系统表说明 253
4.7.2相关知识 256
4.7.3应用实例 256
4.8连接任意ODBC数据源 261
4.9可定制参数的数据库连接 264
4.10 小结 270
第5章打印专题 271
5.1创建应用及打印参数表 273
5.2创建数据窗口对象 278
5.2.1建立数据窗口对象d_product 278
5.2.2建立数据窗口对象d_customer 278
5.2.3建立数据窗口对象d_employee 279
5.3创建全局结构及函数 280
5.2.4建立数据窗口对象d_printlist 280
5.4创建打印列表窗口 281
5.5创建数据显示相关窗口 283
5.5.1创建窗口w_modify 283
5.5.2创建打印机数据窗口w_printdata 285
5.5.3创建格式处理窗口w_style 294
5.5.4创建选项弹出菜单m_popupmenu 297
5.6创建打印用户对象 301
5.7创建打印预览窗口 313
5.8创建打印设置窗口 323
5.9小结 334
第6章用户对象 335
6.1可视用户对象 336
6.1.1创建定制的用户对象 336
6.1.2创建标准的可视用户对象 352
6.1.3创建可视外部用户对象 363
6.2.1创建不可视标准类用户对象 371
6.2不可视用户对象 371
6.2.2创建通用不可视用户对象 374
6.3 小结 382
第7章外部函数和Windows API应用 383
7.1API调用规范及方法 384
7.2窗口类Windows API 385
7.2.1 改变窗口的显示风格 385
7.2.2使窗口的图片透明化 386
7.2.3改变窗口的关闭形式 389
7.2.4在PowerBuilder中实现图形的复制与粘贴以及图像的简单处理 391
7.3系统类Windows API 408
7.3.1获得系统的内部进程 408
7.3.2获得系统基本信息 413
7.4.1检测物理网络的连通情况 431
7.4 Windows API实用例程 431
7.4.2关闭、重启、注销计算机 436
7.5使用第三方工具开发的动态链接库 450
7.5.1使用Visual C++开发动态链接库 450
7.5.2使用Delphi开发动态链接库 456
7.5.3使用Visual Basic开发ActiveX动态链接库 458
7.6小结 463
第8章数据管道 465
8.1原始数据导入 466
8.1.1 FoxPro、FoxBASE、VFP系统的DBF文件格式 466
8.1.2 Excel文件格式 466
8.1.3其他关系数据库的导入 466
8.2表结构处理 467
8.3异种数据库数据移植 467
8.4小结 482
第9章DDE、OLE和COM使用技术 483
9.1.1概述 484
9.1.2函数与事件 484
9.1 DDE技术 484
9.1.3 DDE客户端实现步骤 487
9.1.4 DDE服务器实现步骤 491
9.1.5结论 493
9.2 OLE技术 493
9.2.1概述 493
9.2.2在窗口中使用OLE控件 494
9.2.3链接(Linking)与嵌入(Embedding) 496
9.2.4修改OLE控件中的对象 496
9.2.5不可视的OLE对象 499
9.2.6ActiveX控件 505
9.2.7使用外部OLE控件处理数据库中的二进制数据 508
9.2.8 OLE精彩应用——开发具有XP风格的菜单 511
9.3.2 COM基本思想 518
9.3 COM/MTS技术 518
9.3.1 COM/MTS概述 518
9.3.3 PowerBuilder中的COM组件实现 520
9.3.4 COM/MTS组件高级开发要点 528
9.3.5在客户端中使用COM/MTS组件 533
9.4小结 537
第10章编译、发行与制作安装程序 539
10.1程序编译 540
10.1.1编译基础 540
10.1.2封装内容 541
10.1.3选择封装模式 543
10.1.4实现封装模式 545
10.1.5 PowerBuilder运行库打包工具 548
10.2应用程序运行环境配置 550
10.2.1应用程序运行基本环境 550
10.2.2应用程序数据库环境 551
10.2.3高级应用环境配置 561
10.2.4应用程序数据文件 564
10.3利用Install Shield制作安装程序 565
10.3.1安装程序规范化 565
10.3.2 自动注册ODBC数据源 567
10.3.3实现OCX控件的注册 569
10.3.4一个完整的安装程序例子 572
10.4大型数据库客户端安装程序制作 595
10.4.1 Oracle数据库 596
10.4.2 MS SQL Server数据库 597
10.4.3 Sybase ASE数据库 598
10.5小结 599
第11章Jaguar CTS组件编程 601
11.1 Jaguar CTS的基本概念 602
11.1.2概念 603
11.1.1术语 603
11.1.3开发Jaguar应用程序 604
11.1.4 Jaguar运行模式 604
11.2 Jaguar CTS的主要特性 605
11.3 Jaguar CTS的配置 608
11.3.1启动Jaguar服务器 608
11.3.2启动Jaguar管理器和安全管理器 610
11.3.3添加或删除服务器 610
11.3.4配置Jaguar服务器 611
11.4创建一个Jaguar应用程序 614
11.4.1应用程序的体系结构 614
11.4.2定义包、组件和方法 615
11.5在PowerBuilder 9.0中实现Jaguar CTS组件开发 619
11.5.1 开发原理 619
11.5.2创建全新的Jaguar组件 619
11.5.3开发接口已定义的Jaguar组件 629
11.6.1在EAServer组件中访问数据库 633
11.6 EAServer组件高级开发技巧 633
11.6.2调用其他服务器组件方法 637
11.7建立客户端应用 638
11.7.1开发步骤 638
11.7.2具体实例 638
11.8 Jaguar组件执行的生命周期 644
11.8.1 问题的提出 644
11.8.2 PowerBuilder NVO组件如何处理生命周期 644
11.8.3 Stateless及Stateful组件 647
11.8.4通过Instance Pooling合理运用系统资源 651
11.9小结 655
第12章PBNI应用技术 657
12.1一个实现PowerBuilder非可视扩展的例子 658
12.1.1一个简单的PowerBuilder非可视扩展的例子 658
12.2构建PowerBuilder扩展的详细步骤 662
12.1.2 PBNI开发PowerBuilder扩展基本步骤 662
12.2.1 PowerBuilder非可视化扩展的创建步骤 663
12.2.2 PowerBuilder可视化扩展的实现 669
12.2.3 PowerBuilder可视化扩展的事件处理方法 672
12.2.4使用PowerBuilder可视化扩展 676
12.3在C++中调用PowerBuilder内容 677
12.3.1 在C++中访问PowerBuilder对象 678
12.3.2在C++中处理PowerBuilder消息 683
12.3.3 PBNI中的数据类型 687
12.4在Visual C++中使用向导创建PBNI工程 690
12.4.1安装向导功能 690
12.4.2在Visual C++中使用向导创建PBNI工程 690
12.4.3设置工程选项 692
12.4.4编译 692
12.4 小结 693