2

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

谢谢你。

4

4 回答 4

3

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

于 2009-08-13T09:20:46.810 回答
2

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

于 2009-08-13T02:51:09.383 回答
1

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

于 2009-08-13T16:56:34.420 回答
0

商业解决方案怎么样?屏幕截图显示了对齐工具,这表明它支持多选。

于 2009-08-13T04:27:49.867 回答