我在使用win32gui.GetDC返回一個int/long的另一個程序中獲得一個對象的窗口句柄的DC。我需要將這個DC輸入到python的內存DC中。我唯一不知道如何做的是從win32gui返回的int/long中獲取一個wxDC派生的對象。從我所知道的情況來看,沒有一個wxDC對象允許我將實際的DC句柄傳遞給它們。這當然使我無法完成我的任務。有沒有辦法做到這一點?來自win32gui.GetDC的wxPython wxDC對象
2
A
回答
1
我下載了wxWidgets源代碼並挖了一遍,我認爲這會起作用。
您需要外部窗口的句柄(HWND),而不是DC。
window = wx.Frame(None, -1, '')
window.AssociateHandle(hwnd)
dc = wx.WindowDC(window)
0
從我所知道的來看,python中的DC是由於平臺變化而被抽象化的。因此,python中的設備上下文並不直接映射到Windows中的設備上下文,即使許多方法是直接的Windows方法調用。爲了做到這一點,看起來你需要製作屬於你自己的DelegateDC類或類似的東西,它只是爲了Windows,所以你可以直接設置DC句柄。
也可能有某種方法可以將wxWindow附加到窗口句柄,然後您可以從wxWindow獲取wxWindowDC ...但無法弄清楚這一點。
相關問題
- 1. 獲取對象點? wxpython
- 2. 來自URL的對象ID
- 3. 更改wxPython中的對象的高度
- 4. 自動填充來自HTTPRequest的對象
- 5. 此對象來自哪裏
- 6. 自定義未來對象
- 7. 來自IIFE的對象與返回對象之間的區別
- 8. wxPython和窗口間共享對象
- 9. wxpython:'示例'對象沒有屬性'OnClick'
- 10. 來自對象字段的字典鍵
- 11. 來自C#對象的JSON字符串
- 12. 來自對象的C#靜態方法
- 13. 來自git標籤對象的信息
- 14. 來自C的C++代碼和對象?
- 15. 來自json對象的Kendo UI菜單
- 16. AngularJS來自內部的對象
- 17. 來自對象陣列的Javascript表格
- 18. 來自json的Javascript定製對象
- 19. 保存來自Rivets.js對象的數據
- 20. 顯示來自對象jquery的數據?
- 21. 來自defaultdict對象的訪問值
- 22. 反映來自Java的Scala對象
- 23. 來自數組對象的GEt數據
- 24. 來自條紋對象的提取值
- 25. 來自SELECT命令的值是對象
- 26. 來自getValue()的Firebase對象爲空
- 27. 聲明來自不同ViewController的對象
- 28. 發送來自python對象的請求
- 29. php,來自對象的數據
- 30. 來自對象的cookie會話wordpress
我最近需要做類似的事情,並得出同樣的結論,但我只花了幾個小時,所以我仍然希望有一種方法。 – FogleBird 2009-11-30 14:22:51