【发布时间】:2012-09-13 16:05:43
【问题描述】:
谁能指出一些(厚厚的)书籍(甚至是网站)来解释如何创建自己的复合控件(例如作为其他几个控件的父级的 TPanel)?
我的意思超出了 Borland 的“组件编写者指南”。
我在 StackOverflow 上看到了很多关于这个主题的帖子,在每一篇文章中,人们都在对构造函数、继承、初始化代码的位置/时间、流问题、事件顺序、父子关系等方面存在矛盾
p>【问题讨论】:
-
Danny Thorpe 的 Delphi 组件设计可能是您最好的选择。还有 Marco 的大书。
-
谢谢大卫。我不知道丹尼索普的书。
-
Raize Software 的 Ray Konopka 仍然以 PDF 格式销售他的组件写作书。有点难找——在Pricing Page。尽管它的标题为
Developing Custom Delphi 3 Components,但它现在仍然非常有用,并且曾经是 Delphi 组件参考。 -
Borland Moscow 为其设计了自动解决方案 - 定制容器包。可惜直到 Delphi 5 才支持它。TFrame 似乎与它相去甚远,但甚至没有 CCP 的封装痕迹。不知道你是否可以将它移植到 XE。但在 D4/D5 时代,正是这样,你用组件和代码制作 TPanel 或 TForm,然后我点击一个魔术按钮,你将新组件安装到 Palette 中。
-
这听起来和我想要的有点相似:stackoverflow.com/questions/9479872/… 正如 Uwe 在答案中显示的那样,
SetSubComponent是加入他们的神奇关键字。我唯一不喜欢SetSubComponent的地方是 WinSpy++ 之类的工具不会将控件视为单个控件,而是将其视为子控件等。