如何访问非可视Delphi组件的设计位置?

Rod*_*ddy 2 delphi tcomponent

在IDE中设计表单时,可以自由放置和定位非可视组件(例如TMainMenus,TDatamodules).该位置是持久的,因此在重新加载表单时,这些组件会出现在正确的位置.

但是,TComponent没有Top或Left属性!

那么,我的代码如何访问非可视组件的"设计位置"?

Mas*_*ler 6

这可以在运行时访问,但它有点像黑客.(主要是因为它被实现为一种黑客攻击.)

Left和Top属性设置为Word-size值,并将它们中的两个打包到一个名为Longint的Longint中TComponent.FDesignInfo.您可以使用DesignInfo酒店获取其价值.看看TComponent.DefineProperties它是如何使用的.