我用簡單的編輯控件和使用win32 API的按鈕創建了非MFC GUI。現在我得到了將瀏覽器URL拖放到我的GUI應用程序的編輯控件之一的要求,我該怎麼做? Win32 Api支持這個功能嗎?對win32 GUI的拖放支持
-1
A
回答
0
是的,couse Win32 API支持拖放功能。你應該看到MSDN RegisterDragDrop function。
1
COM可用於以下方式:
IDropSource interface由包含拖動數據的對象實現,稱爲拖動源。 IDropSource接口是您實現的在您的應用程序中提供拖放操作的接口之一。它包含在拖放操作中用作數據源的任何應用程序中使用的方法。拖放操作中的數據源應用程序負責:
根據用戶的選擇確定被拖動的數據。 根據用戶的鼠標動作啓動拖放操作。 在拖放操作期間生成一些視覺反饋,例如設置光標並突出顯示爲拖放操作選擇的數據。 根據用戶的鼠標操作取消或完成拖放操作。 對由拖放操作導致的原始數據執行任何操作,例如通過拖動操作刪除數據。 IDropSource包含用於爲最終用戶生成視覺反饋以及取消或完成拖放操作的方法。您還需要在拖放操作中調用DoDragDrop,RegisterDragDrop和RevokeDragDrop函數。
IDropTarget interface由旨在接受放置的對象實現,稱爲放置目標。IDropTarget接口是您實現的用於在應用程序中提供拖放操作的接口之一。它包含在拖放操作期間可以作爲數據目標的任何應用程序中使用的方法。放置目標應用程序負責:
確定放置對目標應用程序的影響。 在發生丟棄時合併任何有效的丟棄數據。 將目標反饋傳遞給源,以便源應用程序可以提供適當的視覺反饋,例如設置光標。 實現拖動滾動。 註冊並撤消其應用程序窗口作爲放置目標。 IDropTarget接口包含處理所有這些責任的方法,除了註冊和撤銷應用程序窗口作爲放置目標,您必須調用RegisterDragDrop和RevokeDragDrop函數。
DoDragDrop function實施OLE並用於啓動拖放操作。一旦操作正在進行,它便於拖動源和放置目標之間的通信。
Carries out an OLE drag and drop operation. WINOLEAPI DoDragDrop( IDataObject * pDataObject, //Pointer to the data object IDropSource * pDropSource, //Pointer to the source DWORD dwOKEffect, //Effects allowed by the source DWORD * pdwEffect //Pointer to effects on the source );
+0
要添加到此,請拖動一個URL會在提供的'IDataObject'中顯示爲'CFSTR_INETURL'或'CFSTR_SHELLURL'格式。 –
-1
相關問題
- 1. 由TreeItem支持拖放嗎?
- 2. Node.js拖放支持Windows
- 3. JavaScript(jQuery)拖放支持
- 4. QTreeView在PyQt中的拖放支持
- 5. 創建支持拖放的MKPinAnnotation支持像地圖應用中的拖放一樣的拖動
- 6. 支持拖放的ASP.NET Treeview控件?
- 7. 手動添加拖放支持
- 8. 文件拖放支持一個RichTextBox(.NET)
- 9. Fine Uploader 3.9在IE中拖放支持
- 10. 對文本部件的SWT拖放支持
- 11. 簡單的GUI Windows拖放
- 12. 當瀏覽器不支持HTML5拖放時,支持拖放的最佳方式是什麼?
- 13. 拖拖放下載支持IE瀏覽器的Javascript/jQuery/Html5
- 14. 如何實現拖放gui?
- 15. Pthread win32 libraray,PTHREAD_PROCESS_SHARED不支持
- 16. Win32 GUI:未能創建win32 GUI對話框
- 17. Win32 GUI:對話框中的對話框
- 18. Gui的Win32 API
- 19. 在GUI中的拖放操作
- 20. html5拖放持久
- 21. 帶拖放功能的Python HTML gui
- 22. 如何實現支持拖放的用戶界面?
- 23. 對html5播放器的DRm支持
- 24. 防止拖放分支外
- 25. 對模型進行過濾和排序的GtkTreeView的拖放支持
- 26. 在RedHat 5的選項卡中拖放支持的問題
- 27. 具有CSS支持的GUI工具包
- 28. 更正用於支持拖放元素的jquery lib?
- 29. WPF - 支持拖放的DataTemplate在列表框上下
- 30. 如何創建一個支持拖放的面板?
>我創建非MFC GUI使用Win32 API的簡單編輯控件和按鈕.... .......... 您是否選擇開始這個GUI,知道稍後會添加更多的需求? –
看看[this](http:// stackoverflow。com/a/449943/1569168)答案,它是關於拖動文件,但它應該與瀏覽器URL一起工作(可能需要一些額外的解析)。 – ErikEsTT
可能的重複[拖放在winapi](http://stackoverflow.com/questions/190596/drag-and-drop-in-winapi) – MSalters