针对Delphi/C++ Builder的停靠库的建议?

Dav*_*vid 47 delphi dock c++builder dockpanel-suite

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

VS2010 UI和对接截图

这具有以下功能:

  • 显示窗口将停靠的混合轮廓
  • 划入标签,并排并排
  • 允许通过拖动和释放显示停靠位置的图像进行对接(我将其称为"停靠小部件")
  • 看起来也不错(主题/ UI方式)

我无法找到与RAD Studio 2010一起使用的高质量对接库,并且正在寻找关于我没有找到的库或者如何使用我发现的库来实现这样的建议的建议.

  • 更新:我最终购买了AutomatedQA的对接库.我认为这是最好的.有关它的部分,请参阅以下详细信息.

  • 更新2,2011年7月:这个问题考察了Delphi/C++ Builder可用的每个对接库,所以我试图让它保持最新.我知道的两个变化:
    • SmartBear现在拥有AutomatedQA,拥有终结的AutomatedQA对接库.这是我建议买的一个.他们正在考虑开源.
    • 我与DevExpress对接的一个问题(这使它不值得购买)是它缺乏对VS2008/10式对接的支持,具有对接小部件,拖动时的透明覆盖等等. 他们现在正在实现它.因此,由于AQDocking不再被出售,如果我现在问这个问题,我接受的答案就是购买DevExpress Docking.

我找到了以下库.这是一个概述:

内置VCL对接

这允许表单停靠在其他表单或TWinControls上,但看起来非常基本.使用XOR绘制的轮廓进行拖动,这在Vista和Win7上非常糟糕.有一个用于标签式停靠表单的TTabDockSet控件,但我无法弄清楚如何控制停靠表单的标题在停靠后呈现的方式.我认为并行实施对接必须手动完成,即时创建新的docksite面板.RAD Studio IDE的对接窗口比这个(例如,拖动表单时的透明矩形)有点光滑,这是奇怪的,因为我认为它使用了VCL对接支持.

JVCL对接

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

JVCL对接测试程序

它似乎是非常错误的(允许在第一个表单之上删除第二个表单,但冻结程序)并且没有内置的选项卡式底座支持或任何类型的drop-location小部件.

LMD对接包

这看起来很有希望:虽然它似乎没有直接停靠表格,但它有对接面板和控件/框架.现有表单可以迁移到框架.它还有一个对接小部件和标签式底座支持.

但是,该演示似乎非常不可靠.我已经安装了最新的评估版本,并创建了一个带有停靠站点和多个面板的新项目,并按下Run会导致以下情况:

LMD对接

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

DevExpress ExpressDocking

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

DevExpress对接

控件很闪亮,即使使用XP风格也不太适合Windows.它确实有标签对接,但它使用XOR-ed轮廓 - 这在XP或Vista上不能很好地工作.它也没有任何类型的对接小部件.坦率地说,看起来自Windows XP时代以来它还没有更新.2011年7月更新: 这项工作正在改进中.

AutomatedQA/SmartBear对接库

到目前为止,这是所有图书馆中最有前途的.

AutomatedQA对接库

我经常使用AQTime,这是一个出色的分析器,似乎是使用自己的对接库编写的,而且效果很好.但是,最新版本的停靠库试用版下载适用于RAD Studio 2009,并且安装到2010年的建议是它不受支持,您应该重新编译源代码.该演示没有源代码,我们没有RS2009,安装程序拒绝安装,除非我们这样做,即使我们管理它安装我们也无法使用它,因为我们需要重新编译不存在的来源.

我一直与他们的支持团队保持联系,他们向我指出了这个主题.我还发现了另一个与客户提出相同问题的主题.我回复并希望听到更好的消息.我并不热衷于建议购买我无法评估的产品,特别是当我们的IDE不支持它时.

  • 更新:我最终购买了这个库.尽管有评估问题(它在D2007中工作,我有一个副本),但似乎最容易使用所有库,也是最强大的 - 例如,为它编写主题很容易.如果你还需要选择一个停靠库,我肯定会推荐它.

  • 2011年7月更新: 此库不再销售,但可能很快就会开源.

我错过了什么?

这就是我到目前为止所发现的一切.现在怎么办?

  • 我是否错过了Delphi/C++ Builder/RAD Studio 2010的任何好的对接库?
  • 我错过了目前为止我看过的图书馆的任何功能吗?答案如"你错过了FooBar"或"JVCL确实有一个对接小部件,你可以像这样使用它......"听起来真是太棒了.
  • 你下一步会推荐什么?

感谢您的输入 :)

War*_* P 6

我是一名jedi JVCL开发人员,我在自己的商业内部项目中使用了JvDocking,并发现它坚固可靠.

此外,它是免费的.它很容易扩展.它创造了与visual studio 2008时代对接相同的外观和感觉.


but*_*cup 2

我用过JCL,我有LMD、DevExpress和自动化QA对接库。

您会发现最能满足您需求的是 AutomatedQA Docking Library。我在我的一个项目中使用它。

下一步,购买 AutomatedQA 库 :)

来自一位快乐的顾客。