gpt4 book ai didi

delphi - 在运行时复制 TPanel 及其所有控件

转载 作者:行者123 更新时间:2023-12-02 08:06:54 25 4
gpt4 key购买 nike

Delphi-版本5。我有一个正在组装的文件比较应用程序,它的主窗体上有一个左面板和右面板。每个面板(pnlLeft 和 pnlRight)都有相同范围的控件和事件,仅按名称分隔。即 btnCheckLeft(... 和 btnCheckRight(... 并且我在保持两个面板之间的代码更改同步时遇到问题。

我想知道是否可以制作一个包含所有控件和事件的单个面板(在单独的窗体上),然后在运行时将其复制两次,一次用于 pnlLeft,另一个用于 pnlRight 到主窗体。在那个单一的表单上,我可以只管理一次编码,而不是尝试复制所有内容。

在此过程中,设置要应用于每个副本的对齐和事件名称,如下所示...

第一个副本到空白主窗体...

pnlLeft.Align:=alLeft;
pnlLeft.Button1Click(Sender)...

第二个副本

pnlRight.Align:=alLeft;
pnlRight.Button1Click(Sender)...

这怎么可能?我想我需要一个完整面板的组件,但我还没有足够的技能来创建如此复杂的组件。

我检查了这个 how to copy all the TLabels parented with a TPanel on delphi to another TPanel?

还有这个 Duplicating components at Run-Time

但我认为两者都不能满足我的需要。

感谢您提供的任何帮助。

最佳答案

问题的解决方案不在于在运行时复制控件。相反,设计一个 TFrame目的。将所有特定于面板的代码放在那里,包括它需要的任何控件。然后,只需实例化它两次,并给每个实例一个不同的名称。然后可以引用LeftPanel.btnCheckRightPanel.btnCheck

关于delphi - 在运行时复制 TPanel 及其所有控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16968705/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com