我的团队目前正在考虑将现有的基于MDI的应用程序迁移到更现代的基于对接的方法。我们仍在思考,但我们想将其移至VS2010的对接和视觉外观中:

具有以下功能:

  • 显示混合轮廓,窗口将停靠在其中
  • 和选项卡
  • 并排放置
  • 允许通过在显示停靠位置的图像上拖动和释放来进行停靠(我在下面将其称为“停靠小部件”)
  • 看起来也不错(在主题/ UI方面)

  • 我很难找到可以与RAD Studio 2010一起使用的高质量停放库,并且正在就未找到的库或如何使用找到的库寻求建议
  • 更新:我最终购买了AutomatedQA's docking library。我认为那是最好的。在下面有关它的部分中有更多详细信息。


  • ,2011年7月2日更新:这个问题针对的是Delphi / C++ Builder可用的每个对接库,因此,我试图使其保持最新状态。我知道的两个更改:
  • 现在拥有AutomatedQA的SmartBear拥有end-of-lifed AutomatedQA's docking library。这是我建议购买的一个。他们正在考虑将其开源。
  • DevExpress扩展坞(我不值得购买)存在的一个问题是,它不支持VS2008 / 10样式的扩展坞,缺少对接小部件,拖动时透明的覆盖等。They are now implementing it。因此,由于不再出售AQDocking,因此,如果我现在问这个问题,我接受的答案将是购买DevExpress Docking


  • 我发现了以下库。概述如下:

    内置VCL对接

    这允许将窗体停靠在其他窗体或TWinControls上,但是看起来很基本。表单使用XOR绘制的轮廓拖动,在Vista和Win7上效果非常差。有一个用于选项卡式停靠表单的TTabDockSet控件,但我不知道如何控制停靠后如何呈现停靠表单的标题。我认为并排实现对接必须手动完成,并动态创建新的坞站面板。 RAD Studio IDE的停靠窗口比这更光滑(例如,拖动表单时为透明矩形),这很奇怪,因为我认为它使用了VCL停靠支持。

    JVCL docking

    与内置VCL对接相比,这看起来更像是一个不错的解决方案。它支持停靠在任意边缘或客户端上,并显示一个将表单停靠在其中的alphablended矩形。

    它似乎有很多问题(允许在第一个表格的顶部放置第二个表格,但会冻结程序),并且没有内置的选项卡式 jetty 支持或任何类型的放置位置小部件。

    LMD Docking Pack

    这看起来很有希望:尽管它似乎并不直接停靠表单,但它具有停靠面板和控件/框架。现有表单可以迁移到框架。它还具有停靠小部件和选项卡式停靠支持。

    但是,该演示似乎非常不可靠。我已经安装了最新的评估版,并创建一个具有停靠站点和几个面板的新项目,然后按“运行”会导致以下情况:

    这在表单组件流中崩溃。目视检查DFM文件没有发现任何错误,但是存在一个可能导致该布局信息的不透明二进制二进制文件。在评估版中,这并不是特别令人鼓舞。

    DevExpress ExpressDocking

    我对此寄予厚望:我以前从未使用过任何DevExpress控件,但它们具有良好的声誉。但是他们的演示程序确实令人失望:

    该控件闪烁,即使使用XP样式,在Windows上也似乎不太适合主题。它确实具有选项卡式停靠,但它使用了XOR版本的轮廓-某些东西在XP或Vista上效果不佳。它还没有任何类型的停靠小部件。坦白说,自Windows XP以来,它似乎尚未更新。 ,2011年7月更新: This is being improved

    AutomatedQA / SmartBear docking library

    到目前为止,这是所有库中最有前途的。

    我经常使用AQTime,它是一个出色的探查器,似乎是使用他们自己的停靠库编写的,并且运行良好。但是,最新版本的扩展库试用版下载适用于RAD Studio 2009,并且建议将其安装到2010中,因为该版本不受支持,您应该重新编译源代码。该演示不附带源代码,并且我们没有RS2009,安装程序拒绝安装,除非我们这样做,即使我们设法安装它,我们也无法使用它,因为我们需要重新编译不存在的来源。

    我一直与他们的支持团队联系,他们向我指出了this thread。我还发现了另一个与customers asking much the same thing的线程。我已回复,希望听到更好的消息。我不建议我们购买无法评估的产品,特别是当我们的IDE不支持该产品时。
  • 更新:我最终购买了此库。尽管评估时遇到问题(它在D2007中有效,并且我有一个副本),但似乎所有库的使用最简单,也是功能最强大的-例如,为它编写一个主题很容易。如果您还需要选择对接库,我绝对会推荐它。
  • 更新于2011年7月: This library is no longer being sold, but may be open-sourced soon

  • 我错过了什么?

    到目前为止,这就是我发现的所有内容。现在怎么办?
  • 我是否错过了Delphi / C++ Builder / RAD Studio 2010的任何好的扩展库?
  • 我是否错过了到目前为止看过的库中的任何功能?像“您错过了FooBar”或“JVCL确实具有对接小部件,您可以像这样使用它……”这样的答案将非常令人震撼。
  • 作为我的下一步,您会推荐什么?

  • 感谢您的输入 :)

    最佳答案

    我使用过JCL,LMD,DevExpress和自动QA对接库。

    最能满足您需求的是AutomatedQA对接库。我将其用于我的一个项目。

    下一步,购买AutomatedQA库:)

    来自一个快乐的客户。

    10-07 14:05