我有一个Delphi GUI应用程序(使用RAD studio 2010),我希望用户能够重新安排他的工作区。我知道如何使TButton以相同的形式拖动,但不知道如何使用户能够将按钮从一个表单拖动到另一个表单。当您单击并尝试拖动TButton时,我认为它不会像拖放操作那样对待它。你如何让TButton能够跨多种形式进行拖放?
答案 0 :(得分:2)
首先,将按钮的DragMode设置为dmAutomatic,或者在按钮上发生鼠标按下时手动调用BeginDrag。然后使用您要拖动到的表单的OnDragOver + OnDragDrop事件。
答案 1 :(得分:1)
使用目标表单的OnDragDrop事件来更新按钮的Parent属性。
答案 2 :(得分:0)
我不知道如何使用Delphi版本的DragDrop,但它非常适合shell拖放
IDataObject
和
IDropTarget
除了现在你被迫使用Window自己的API进行拖放而不是Delphi的有限仿真。