Delphi 可拖动组件?

Delphi 可拖动组件?,delphi,drag-and-drop,Delphi,Drag And Drop,我有两个表单(一个主表单,一个子表单)。我想做一些类似于CodeGear的IDE面板的拖放操作。这意味着我可以移动它们,并将它们与其他组件合并 然而,我要求的是不同的东西: 我想把submain表单拖到主表单中,然后把它变成一个类似于TFrame的东西,或者换句话说,一个不移动但保持静止的东西。反过来,我想随时都能把表单从TFrame中拿出来 我的想法可能吗?如果可能,你能解释一下如何实现吗 编辑:我想到了一个主意。是否可以创建一个从TForm继承所有控件/组件的TFrame,以便组件保留在表单

我有两个表单(一个主表单,一个子表单)。我想做一些类似于CodeGear的IDE面板的拖放操作。这意味着我可以移动它们,并将它们与其他组件合并

然而,我要求的是不同的东西:

我想把submain表单拖到主表单中,然后把它变成一个类似于TFrame的东西,或者换句话说,一个不移动但保持静止的东西。反过来,我想随时都能把表单从TFrame中拿出来

我的想法可能吗?如果可能,你能解释一下如何实现吗


编辑:我想到了一个主意。是否可以创建一个从TForm继承所有控件/组件的TFrame,以便组件保留在表单上,但当我尝试将其转换为TFrame时,它只是将可见性更改为false,并显示包含表单中所有内容的TFrame。这可能吗

将主窗体的DockSite属性设置为True,然后处理OnDockOver和OnDockDrop事件


您可以在停靠演示中看到VCL拖放停靠支持的示例(在C:\Documents and Settings\All Users\Documents\RAD Studio\5.0\Demos\DelphiWin32\VCLWin32\docking中为WinXP上的Delphi 2007安装,在C:\Program Files\Borland\Delphi7\Demos\docking中为Delphi 7安装)Delphi 2009的文件夹位置将与Delphi 2007的文件夹位置相同;只需将路径中的5.0更改为6.0。

将主窗体的DockSite属性设置为True,然后处理OnDockOver和OnDockDrop事件

您可以在停靠演示中看到VCL拖放停靠支持的示例(在C:\Documents and Settings\All Users\Documents\RAD Studio\5.0\Demos\DelphiWin32\VCLWin32\docking中为WinXP上的Delphi 2007安装,在C:\Program Files\Borland\Delphi7\Demos\docking中为Delphi 7安装)Delphi 2009的文件夹位置将与Delphi 2007的文件夹位置相同;只需将路径中的5.0更改为6.0即可