用蓝图实现的简单的基于UMG的拖放操作,可以用于实现物品栏。
1.在允许拖动的窗口重载以下函数 On Mouse Button Down:并且开启拖放检测,拖放检测会在鼠标按下过程中一直持续。
2.在允许拖动的窗口重载以下函数 On Drag Detected :当拖放检测被触发,创建DragDropOperation,其参数Payload用于传递数据,
DefaultDragVisual 是一个UWidget 是拖放的可视表现,以下是创建了一个图标窗口。
3.在允许Drop操作的窗口重载OnDrop函数,实现放下操作
4.要把允许DragDrop操作的窗口的Root 设置其Visibility参数为Visible,(默认为SelfHitTestInvisible).这样才能接收拖放事件。
拖放显示的图标窗口,可以通过DragDropOpration对象来引用。