我在 Delphi 中创建了一些自定义控件 (TCustomControl),我可以在运行时移动它们,但只能一一移动。如何在运行时再次选择这些控件中的两个或多个,然后用鼠标将它们一起移动?
谢谢你。
我在 Delphi 中创建了一些自定义控件 (TCustomControl),我可以在运行时移动它们,但只能一一移动。如何在运行时再次选择这些控件中的两个或多个,然后用鼠标将它们一起移动?
谢谢你。
另一个商业解决方案来自 DevExpress:LayoutControl。它允许在运行时拖放、分组、完全重新排列、隐藏和添加组件。
如果找不到更简单的方法,您可以随时手动完成。保留所有选定控件的列表。当拖动操作开始时,创建另一个列表,该列表包含 TPoint 值,指示每个控件的 Top 和 Left 属性在两个轴上距鼠标位置的距离。然后,当用户拖动控件时,不断更新选定的控件以将它们保持在相对于鼠标指针的正确位置。
我曾经使用过一个名为handles的组件,如果我没记错的话,更新到更高版本的 Delphi 并支持多选并不难。
商业解决方案怎么样?屏幕截图显示了对齐工具,这表明它支持多选。