4

看看这个名为Construct的开源应用程序 。

它使用面板停靠,您可以在其中拖动面板,然后使用屏幕上的一些视觉辅助工具来显示面板可能停靠的位置,如下所示:

拖动/停靠之前

在此处输入图像描述

在拖拽/对接阶段

拖动/移动其中一个 Dock 面板时,窗口现在如下所示:

在此处输入图像描述

如您所见,当拖动/移动对象面板时,它会显示面板可以停靠的位置的视觉帮助。当不在对接位置时,它也可以像自由窗口一样四处移动。这同样适用于拖动/移动其他 Dock 面板,例如本例中的项目面板。

这是一个使用它的应用程序的示例,我也看到其他应用程序也使用它。

是否有实现这种行为的德尔福方式?

我有一些面板占用了一些空间,自由移动或停靠它们将是有用的功能。

谢谢。

更新

似乎 LMD Components 提供了这样一个我可能会研究的组件。

4

5 回答 5

6

请参阅对接库的这个老问题。

推荐 Delphi / C++Builder 的对接库?

于 2011-06-16T14:02:37.840 回答
4

为什么不应该在 Delphi 中实现这一点?

我不知道周围是否有免费组件,但 DevExpress 为它提供了一个,其他 vedors 肯定也有这样的库。

如果您对自己编写这样的代码感兴趣,您可以看看Dockpanel Suite,它是用 C# 编写的,但它背后的 WinAPI 基本原理是相同的。

补充:
有人知道好的delphi对接组件吗?

于 2011-06-16T12:26:17.840 回答
4

DevExpress 对接组件的新版本即将推出。它包括您在图像中显示的 Visual Studio 样式停靠。

有关更多信息,请参阅此链接:http: //community.devexpress.com/blogs/ctodx/archive/2011/04/26/sneak-peek-visual-studio-dock-style-for-vcl-docking-library-coming -in-v2011-1.aspx

于 2011-06-16T13:23:12.557 回答
3

Delphi 开箱即用地支持这一点。Samples (Demos) 文件夹中有一个有限的演示(意味着它们没有演示所有功能),具体取决于您使用的 Delphi 版本。例如,在 Delph7 中,它位于 中$(DELPHI)\Demos\Docking,而在 D2007 及更高版本中,您会在 中找到它C:\Documents and Settings\All Users\Documents\RAD Studio\x.0\Demos\DelphiWin32\VCLWin32,其中x.0指的是 Delphi 版本。如果您安装在 Vista 或 Win7 上,D2009 和 XE 的位置会有所不同,但我相信您可以找到它们;如果不能,请使用开始菜单的Embarcadero RAD Studio <version>,然后选择Samples

还有 TDockTabSet 组件包含在更高版本的 Delphi 中,您可以在 Embarcadero Developer Network找到一篇文章和代码来解释和演示它的使用。(我相信,TDockTabSet 现在几乎是 IDE 中用于对接的东西。)

于 2011-06-16T12:59:01.860 回答
1

我在 Delphi 中做了一些关于可停靠表单的介绍视频,这里这里都有。他们也在 YouTube - Part 1Part 2上。然而,它们非常具有介绍性。

于 2011-06-17T05:52:00.503 回答