如何使用引脚和选项卡像Delphi IDE一样拖动和停靠?

Ali*_*ter 6 delphi drag-and-drop

我想让Drag和Dock在我的应用程序中也能像在Delphi IDE中那样工作(即能够在Object Inspector/Structure View中拖动它们并将它们停靠在合适的站点上).将表格对接到PageControl我已经取得了相当不错的成功,但是想知道是否有人知道如何使用小关闭按钮和引脚等工作.

我也有兴趣了解Delphi IDE使用哪些组件来实现这一目标.

我的问题的原因是我想制作更多关于如何做到这一点的高级视频,我之前做过的两个就是这里这里.

War*_* P 7

您可以在几乎任何版本的Delphi中使用JVCL JvDocking组件进行拖放和停靠.它是免费和开源的.带有针脚和关闭按钮的样式可以使用JvDocking附带的称为VID(visual interdev)样式的对接样式.

在此输入图像描述

已经有一堆商业替代品,并且Delphi内置了一些支持,我发现它不足以满足我的需求.虽然Delphi IDE有自己的内部对接库,但是Tab支持是非常有限的,速度很慢,并且在我的主观意见中被打破了.

然而,即使在古老的delphi版本上,Delphi 7及更高版本,JvDocking,提供了VCL对接提供的所有功能,以及更多功能,因此忽略内置的VCL功能没有问题,即TStringGrid与实际网格对接.

使用JvDocking的步骤:

  1. 在主(主机表单)上删除停靠服务器和停靠样式对象并连接它们.
  2. 在客户端上卸下Dock客户端组件(要停靠的表单)并将其连接到dockstyle.
  3. 配置Dock服务器的属性.
  4. 运行应用程序 让它创建一个表单.现在将客户端表单拖到停靠服务器可停靠的区域.观看它很好地停靠.

有关代码演示中的停靠,请参阅JVCL示例文件夹中的JvDocking演示.

更新

或者您可以使用自XE和XE2以来内置于Delphi VCL中的内容.XE和XE2包含一个名为的对接演示项目dockex.dpr.

在Win7/Vista上,演示位于:

C:\Users\Public\Documents\RAD Studio\9.0\Samples\Delphi\VCL\Docking

在这里查看Win XP上的演示:

C:\Documents and Settings\All Users\Documents\RAD Studio\9.0\Samples\Delphi\VCL\Docking

您还应该查看TDockTabSetVCL中的文档以及评论中链接的EDN文章,其中包含您可以在此处下载的源代码.在我看来,Jedi JvDocking的东西比Delphi附带的Docking Demo更专业,更光滑,但内置的东西具有工作的优势,无需安装任何额外的东西.我刚刚尝试了DockTabSet演示和内置的对接演示,它们很慢,而且画面很丑陋而且闪烁.JvDocking看起来很专业.这是你的电话.