我有一個Delphi GUI應用程序(與RAD studio 2010),我希望用戶能夠重新排列他的工作空間。我知道如何使TButton在相同形式下拖動,但不知道如何讓用戶能夠將按鈕從一種形式拖動到另一種形式。當您點擊並嘗試拖動TButton時,我認爲它不會將其視爲拖放操作。你如何讓TButton在多種形式下具有拖放功能?將TButton從窗體拖動到窗體
回答
首先,將按鈕的DragMode設置爲dmAutomatic,或者在按鈕上出現鼠標按下時手動調用BeginDrag。然後使用您要拖到的窗體的OnDragOver + OnDragDrop事件。
使用目標窗體的OnDragDrop事件更新按鈕的Parent屬性。
OnDragDrop事件未被觸發。 – 2010-12-14 19:01:37
@John - 你在調用['BeginDrag'](http://docs.embarcadero.com/products/rad_studio/radstudio2007/RS2007_helpupdates/HUpdate4/EN/html/devwin32/wwcstartingadragoperation_xml.html)(在'OnMouseDown')? – 2010-12-14 19:18:10
或者將'DragMode'屬性設置爲'dmAutomatic'。 – 2010-12-14 19:44:55
我不知道如何與德爾福版本的DragDrop的做到這一點,但它是完美的殼拖放與
IDataObject
和
IDropTarget
除了現在你不得不使用Window自己的API進行拖放,而不是使用Delphi的有限仿真。
- 1. 窗體的拖動將窗體向下移動
- 2. 拖動不透明窗體?
- 3. Windows窗體拖動控件
- 4. 如何將數據從子窗體移動到父窗體?
- 5. 當拖動時未拖動窗體
- 6. 將word文件拖放到窗體上
- 7. 拖放Windows窗體
- 8. 從Windows窗體切換到Web窗體
- 9. 將數據從子窗體傳遞到子窗體並從父窗體打開子窗體
- 10. Windows窗體 - 從父窗體
- 11. 將值從窗體傳遞到窗體,並以新窗體形式顯示
- 12. 窗體到窗體jQuery
- 13. 將窗體動態添加到窗體中
- 14. C#將WndProc從窗體傳遞到另一個窗體
- 15. 將值從一個窗體傳遞到另一個窗體
- 16. 關閉時將變量從窗體傳遞到其他窗體
- 17. 將控件從一個窗體複製到另一個窗體
- 18. 從窗體1通過字符串文件名從窗體1到窗體2
- 19. 將控件從一個窗體拖放到另一個窗體導致移動控件
- 20. C#:將控件從窗體移動到VSPage窗體設計器中的tabPage
- 21. 將文本從一個窗體RichtextBox移動到另一個窗體上的另一個窗體#
- 22. 拖放Windows窗體按鈕
- 23. 在拖放時將桌面圖標移動到窗體上?
- 24. 拖動包含窗體控件的div
- 25. Winforms - 禁用當用戶通過邊框拖動窗體來移動窗體時,它調整窗體大小
- 26. C#窗體窗體應用程序,從子窗體關閉父窗體
- 27. 窗體窗體標準窗體大小
- 28. 從主窗體驅動子窗體窗體中的MS Access查詢
- 29. 將窗體提交到新窗口並將頁面加載到窗體中
- 30. 動態生成窗體窗體控件
+1爲最佳答案,直到現在 – ComputerSaysNo 2010-12-15 07:04:24