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