可拖动的组件?

时间:2009-08-13 20:21:00

标签: delphi drag-and-drop

我有两种形式(一种主要形式和一种子域形式)。我想在拖放时做类似CodeGear的IDE面板。意思是我可以移动它们并将它们与其他组件合并。

但是,我要求一些不同的东西:

我想将子域格式拖动到主窗体中并将其转换为类似于TFrame的东西,换句话说,将某些东西移动,但保持静态。反之 - 我想要也可以通过任何机会从TFrame中获取表格。

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

编辑:我想到了一个想法。是否可以创建一个TFrame来继承TForm中的所有控件/组件,以便组件保留在表单上,​​但是当我尝试将其转换为进入Tframe,它只是将可见性更改为false并显示TFrame包含Form.Is中的所有可能吗?

1 个答案:

答案 0 :(得分:1)

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

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