现在,我使用 2 个数组,一个是 TImage,另一个是 TMemo,在滚动框内逐行绘制文本数据旁边的图像。
我希望用面板上的几个组件替换 TMemo。所以可能是一些静态文本一个按钮和一些标签。但我现在这样做的方式似乎会变得一团糟。
有没有更好的方法来解决这个问题而无需编写组件或类。我应该使用某种多维数组还是可以使用记录结构来声明组件并拥有一个数组?
现在,我使用 2 个数组,一个是 TImage,另一个是 TMemo,在滚动框内逐行绘制文本数据旁边的图像。
我希望用面板上的几个组件替换 TMemo。所以可能是一些静态文本一个按钮和一些标签。但我现在这样做的方式似乎会变得一团糟。
有没有更好的方法来解决这个问题而无需编写组件或类。我应该使用某种多维数组还是可以使用记录结构来声明组件并拥有一个数组?
记录至少可以减轻您管理大量并行数组的负担,但您可以做得比记录更好,也比数组更好。
首先,您可以设计一个框架来表示表单的一个“行”。给它一个图像、按钮、标签和任何你需要的东西。然后在每次需要时创建该框架类的实例。它将自动为您创建组件。你说你不想要一个自定义组件,这本质上就是一个框架,但是通过像设计一个表单一样在视觉上设计它,创建复合控件的大部分负担都被解除了,所以你只是得到了好处一组可以作为一个单元相互交互的相关控件。
与数组相比,您可能会发现使用不同的集合对象会更成功,尤其是TComponentList
它比数组更容易增长和缩小,并且还有助于管理其内容的所有权。