资源介绍
第21章 编写自定义组件 607
21.1 组件设计基础 607
21.1.1 确定是否需要编写组件 607
21.1.2 编写组件的一般步骤 607
21.1.3 确定一个祖先类 608
21.1.4 创建一个组件单元 609
21.1.5 添加属性 609
21.1.6 加入事件 615
21.1.7 创建自定义的方法 619
21.1.8 构造器和析构器 619
21.1.9 注册组件 620
21.1.10 测试组件 621
21.1.11 提供组件图标 623
21.2 一个组件的示例 623
21.2.1 扩展Win32组件外套功能 624
21.2.2 TddgRunButton: 创建属性 631
21.3 TddgButtonEdit:一个容器组件 636
21.3.1 设计 636
21.3.2 显现属性 637
21.3.3 显现事件 637
21.3.4 TddgDigitalClock:创建组件事
件 639
21.3.5 把窗体加到组件面板上 642
21.4 组件包 644
21.4.1 为什么使用包 644
21.4.2 什么情况下不使用包 645
21.4.3 包的类型 645
21.4.4 包文件 645
21.4.5 在Delphi 5应用程序中使用包 645
21.4.6 把包安装到IDE中 645
21.4.7 设计自己的包 646
21.4.8 包的版本 649
21.4.9 包的编译指令 649
21.4.10 关于{$WEAKPACKAGEUNIT}
指令 649
21.4.11 包的命名约定 650
21.5 附加包 650
21.6 总结 655
第22章 高级组件技术 656
22.1 伪可视组件 656
22.1.1 扩展提示功能 656
22.1.2 创建一个THintWindow的派生
类 656
22.1.3 椭圆型的窗口 658
22.1.4 使派生的提示窗口有效 659
22.1.5 放置TDDGHintWindow 659
22.2 动态组件 659
22.2.1 走马灯组件 659
22.2.2 编写这个组件 659
22.2.3 在内存中的位图上输出 659
22.2.4 输出组件 661
22.2.5 使组件动起来 661
22.2.6 测试TddgMarquee组件 668
22.3 编写属性编辑器 670
22.3.1 派生出一个属性编辑器对象 670
22.3.2 把属性当作文本来编辑 671
22.3.3 注册新的属性编辑器 674
22.3.4 用对话框来编辑属性 675
22.4 组件编辑器 677
22.4.1 TComponentEditor 677
22.4.2 一个简单的组件 678
22.4.3 一个简单的组件编辑器 679
22.4.4 注册组件编辑器 679
22.5 对非公开的组件数据进行流操作 681
22.5.1 声明属性 681
22.5.2 DefineProperty()的例子 682
22.5.3 TddgWaveFile:调用Define-
BinaryProperty()的例子 684
22.6 属性类别 690
22.6.1 类别的类 690
22.6.2 自定义类别 691
22.7 组件列表:TCollection和
TCollectionItem 694
22.7.1 声明TCollectionItem类:
TRunBtnItem 695
22.7.2 声明TCollection类:
TRunButtons 696
22.7.3 实现TddgLaunchPad、TRun-
BtnItem和TRunButtons 696
22.7.4 用对话框属性编辑器编辑
TCollectionItem组件的列表 702
22.8 总结 711
第23章 COM和ActiveX 712
23.1 COM基础 712
23.1.1 COM:组件对象模型 712
23.1.2 COM、ActiveX、OLE的异同 713
23.1.3 术语 713
23.1.4 ActiveX的伟大之处 713
23.1.5 OLE 1和OLE 2 713
23.1.6 结构化存储 714
23.1.7 统一数据传输 714
23.1.8 线程模式 714
23.1.9 COM+ 714
23.2 COM与Object Pascal 714
23.2.1 接口 715
23.2.2 使用接口 716
23.2.3 HResult返回类型 719
23.3 COM对象和类工厂 720
23.3.1 TComObject和TComObject-
Factory 720
23.3.2 in-process COM服务器 721
23.3.3 创建一个in-proc COM服务器实
例 722
23.3.4 out-of-process COM服务器 723
23.4 聚合 723
23.5 分布式COM 723
23.6 自动化 724
23.6.1 IDispatch接口 724
23.6.2 类型信息 725
23.6.3 后期捆绑与前期捆绑 725
23.6.4 注册 725
23.6.5 创建自动化服务器 725
23.6.6 创建自动化控制器 740
23.7 高级自动化技术 745
23.7.1 自动化事件 745
23.7.2 自动化集合 754
23.7.3 类型库中新的接口类型 760
23.7.4 交换二进制数据 761
23.7.5 COM的语言支持 763
23.8 MTS 766
23.8.1 为什么会出现MTS 767
23.8.2 什么是MTS 767
23.8.3 Delphi中的MTS 770
23.9 TOleContainer 785
23.9.1 一个简单的范例程序 785
23.9.2 一个稍复杂的范例程序 787
23.10 总结 794
第24章 扩展Windows外壳 795
24.1 托盘图标组件 795
24.1.1 API 795
24.1.2 处理消息 797
24.1.3 图标及提示 797
24.1.4 鼠标点击 798
24.1.5 隐藏应用程序 799
24.1.6 托盘图标应用程序举例 805
24.2 应用程序桌面工具栏 807
24.2.1 API 807
24.2.2 TAppBar:AppBar的窗体 808
24.2.3 使用TAppBar 815
24.3 外壳链接 817
24.3.1 获取一个IShellLink实例 818
24.3.2 使用IShellLink 819
24.3.3 创建一个外壳链接 820
24.3.4 获取及设置链接信息 821
24.3.5 一个例子程序 824
24.4 外壳扩展 831
24.4.1 COM对象向导 832
24.4.2 复制钩子处理器 832
24.4.3 上下文菜单处理器 836
24.4.4 图标处理器 844
24.5 总结 850
第25章 创建ActiveX控件 851
25.1 为什么要创建ActiveX控件 851
25.2 创建一个ActiveX控件 851
25.2.1 ActiveX控件向导 852
25.2.2 ActiveX框架 875
25.2.3 属性页 877
25.3 ActiveForm 886
25.4 在Web上的ActiveX 892
25.4.1 与Web浏览器通信 892
25.4.2 Web发布 901
25.5 总结 903
- 上一篇: libzip:用于读取,创建和修改zip存档的AC库
- 下一篇: ios-轻量级对象字典转换库.zip