使用拖放移动TabControl TabItems

时间:2015-03-31 08:35:58

标签: delphi firemonkey delphi-xe7

我正在使用Delphi XE7 Firemonkey。

我想移动一个TTabControl组件的TTabItems,就像现代Webbrowsers那样使用它们的标签。

我找到了一些教程,但这些教程适用于VCL(http://www.swissdelphicenter.com/de/showcode.php?id=963

我还发现了TChromeTabs(http://www.easy-ip.net/tchrometabs.html),但这也仅适用于VCL。

非常感谢任何帮助

1 个答案:

答案 0 :(得分:1)

您首先需要将每个TTabItem上的DragMode设置为dmAutomatic。从那里开始使用TTabItems OnDragDrop过程来编写代码。我已经提供了一个关于如何获取源和目标TTabItems的快速代码段。当" drop"你想要实现的目标执行取决于你:

OnDragDrop

//This is your TTabItem that is being dragged
TTabItem(Data.Source).Index//Index of this object in your TTabControl
//This is your TTabItem that is being "dropped" to
TTabItem(Sender).Index//Index of this object in your TTabControl

此外,如果您将此代码分配给TTabItem的OnDragMove,您将获得一个蓝色拖动突出显示,显示当前所在的选项卡:

OnDragMove

Operation:=TDragOperation.Move;

希望这有帮助