在Delphi中替换可视组件的最佳方法

lke*_*ler 9 delphi components replace

在Delphi表单中,我想将一个可视组件替换为另一个.示例:我想用第三方软件包中的ElPanel替换Panel组件.

我希望将第一个组件的所有相同属性和事件转移到新组件,并且属于第一个组件的所有组件(例如工具栏,备忘录,状态栏等)最终放在新组件上他们在第一个的确切位置.

除了将新组件添加到表单并精心地将每个属性,事件和组件逐个转移到表单之外,还有最好/最简单的方法吗?

Moh*_*man 12

我这样做如下:

  1. 右键单击表单并选择(以文本形式查看).
  2. 按Ctrl + F搜索组件类名称,如TPanel,并将其替换为TElPanel
  3. 切换回表单(以表格形式查看)
  4. 在接口部分中,将TPanel替换为TElPanel.

如果你有很多组件使用GExperts将是更可行的解决方案.


Tim*_*ipe 10

您可以使用GExperts,也可以手动完成.

要手动完成,请在记事本中打开.dfm并替换所有类名.(例如,将TPanel替换为TElPanel).当您完成所有更改后,使用记事本打开.pas文件,并执行相同的操作.

确保将所需单位添加到uses子句中.

然后在IDE中打开表单并清除任何不匹配的事件或未知的属性问题.

  • 实际上,它是Delphi中/早期版本的二进制文件.在以后的版本中,它是一个文本文件.要在文本和二进制dfm格式之间进行转换,请使用Delphi bin \目录中的convert.exe工具. (4认同)

Oss*_*eta 6

如果我记得优秀的免费GExperts插件就可以做到这一点.右键单击表单,然后选择"替换组件".http://www.gexperts.org