Delphi处理大量运行时创建的组件

时间:2013-01-28 01:54:55

标签: arrays delphi components

现在我使用2个数组中的一个TImage,另一个使用TMemo在滚动框内的行后面的文本数据旁边绘制图像。

我希望用Panel上的几个组件替换TMemo。所以可能是一些静态文本按钮和一些标签。但是我现在这样做的方式似乎会变得混乱。

如果没有编写组件或类,是否有更好的方法可以解决这个问题。我应该使用某种多维数组,还是可以使用记录结构来声明组件并拥有一个数组呢?

1 个答案:

答案 0 :(得分:8)

记录至少可以减轻你管理大量并行数组的负担,但是你可以比记录更好,并且比数组更好。

首先,您可以设计一个框架来表示表单的一个“行”。给它一个图像,按钮,标签,以及你需要的任何其他东西。然后在每次需要时创建该框架类的实例。它会自动为您创建组件。你说你不想要一个自定义组件,而这基本上就是一个框架,但是通过像对待表单那样在视觉上设计它,创建一个复合控件的大部分负担都被解除了,所以你只是获得了好处一组相关控件可以作为一个单元相互作用。

使用不同的集合对象而不是数组,您可能会发现更好的成功,尤其是TComponentList,它比数组更容易增长和缩小,还有助于管理其内容的所有权。

相关问题