我有50多个表单上有相同的按钮。所有这些都来源于同一个祖先。有没有自动的方法将该按钮(或任何其他控件)移动到共同的祖先?德尔福 - 移动控制到祖先的形式
回答
David Miro有正确的答案,但我认为他误解了你想做的事情。你并没有试图改变这个按钮的位置。
如果您尚未编辑子窗体上的按钮,则可以在父项上添加一个新按钮。它会自动显示在每个子窗体上。这将是一个新的按钮,它必须有不同的名称,但每个表单上都会有一个继承的按钮。然后,您需要编辑每个子窗体以删除原始按钮。你将有一个按钮,它会被继承。如果事件处理程序总是相同的,那么也可以将其编码到父项中。
如果您之前编辑过子窗体上的按钮,可以这样做。我知道的唯一方法是编辑表单的DFM文件。在窗体中声明的按钮被定义为没有任何父对象的引用。继承的按钮在其前面定义了一个INHERIT。你需要添加INHERIT单词,它告诉表单该按钮是被继承的。如果这听起来很复杂,只需创建2个按钮并查看其差异。这并不太复杂。
难度是这样的:你不能从创建它之前的东西继承(父按钮)。而且,创建父项可能会遇到一些困难,因为孩子已经拥有了一个具有该名称的组件。如果必须,您可以更改名称。但是这可以做到。我认为这是你正在寻找的。奇怪有没有更简单的方法来做到这一点,因为像这样的改进通常首先在子表单中创建。
在设计时没问题。如果移动父按钮位置,则会自动移动子按钮。但是如果你移动了子按钮,那么这不再起作用。
解决方案。虽然繁琐,编辑表格DFM子文件并删除您需要从DFM父文件继承属性(button.left,button.right,等..)
有了这个程序得到它的工作
是的,这是一个问题。我知道从父母继承儿童形式会发生什么。所以除了制作脚本外,没有办法从儿童到父母这样做。 – RBA 2013-05-16 06:41:08
- 1. 德尔福形式
- 2. 德尔福 - 移动重叠T形
- 3. 德尔福 - 在设计模式下移动运行时控制
- 4. 德尔福:冻结形式
- 5. 德尔福:如何复制形式
- 6. 与德尔福
- 7. 德尔福XE3的形式隐藏
- 8. 德尔福7中的模态形式
- 9. 德尔福 - 的控制面板中的
- 10. 德尔福:如何摆脱TMyForm的祖先的”未找到错误“
- 11. 德尔福 - 形式最大化事件
- 12. 德尔福改变主要形式
- 13. 德尔福 - 如何皮肤形式
- 14. 德尔福:创建«手»形式
- 15. 德尔福铬嵌入DLL形式
- 16. 德尔福:模态形式闪烁
- 17. 德尔福微控制器编程
- 18. 德尔福控制台管道切换?
- 19. 德尔福firemoneky控制在运行时
- 20. 控制+点击冻结德尔福XE
- 21. 移植德尔福TList.Sort到PHP
- 22. 德尔福HID Delphi7和德尔福XE2
- 23. 德尔福v.Word - 如何从德尔福
- 24. 在德尔福7
- 25. 如何将DBgrid的滚动条移动到顶端(德尔福)
- 26. 德尔福
- 27. 德尔福tcustomcontrol/twincontrol
- 28. 德尔福定制TTreeNode
- 29. 德尔福:绘制行ListView
- 30. 德尔福 - 如何移动控件并刷新它
编辑.pas和.dfm文件的脚本 – 2013-05-13 15:34:59
运行时或设计? – 2013-05-14 10:23:09
@DavidMiró - 设计时间。 – RBA 2013-05-14 16:33:50