如何在运行时选择和移动多个控件

时间:2009-08-13 02:32:27

标签: delphi custom-controls movable

我在Delphi中创建了一些自定义控件(TCustomControl),我可以在运行时移动它们,但只能一个接一个地移动它们。如何在运行时再次选择这些控件中的两个或多个,并将它们与鼠标一起移动?

谢谢。

4 个答案:

答案 0 :(得分:3)

另一个商业解决方案来自DevExpress:LayoutControl。它允许在运行时拖放,分组,完全重新排列,隐藏和添加组件。

答案 1 :(得分:2)

如果找不到更简单的方法,可以随时手动完成。保留所有选定控件的列表。当拖动操作开始时,创建另一个列表,这个列表包含TPoint值,指示每个控件的Top和Left属性在两个轴上的距离是否来自鼠标的位置。然后,当用户拖动控件时,不断更新所选控件以使它们保持在鼠标指针的正确相对位置。

答案 2 :(得分:1)

我曾经使用过一个名为handles的组件,如果我没记错的话,不太难以更新到更高版本的Delphi并支持多选。

答案 3 :(得分:0)

commercial solution怎么样?屏幕截图显示了对齐工具,这表明它支持多选。