2011-01-28 34 views
0

在wxpython中拖放過程中是否有捕獲修飾符的方法?在一些帖子中提到它作爲旁註(The OLE way of doing drag&drop in wxPython,wx.TreeCtrl drag and drop, copy and move),但都沒有提到如何捕捉這些修飾符。在wxpython中使用修飾符進行拖放

我知道CmdDown(),但那需要一個EVT_CHAR。有沒有辦法在拖放過程中強制執行EVT_CHAR?

在一天結束時,我可以使用一些全局鉤子,但是我知道在類似的包中有等價物可以讓你捕捉修飾符。

任何幫助表示讚賞。

回答

1

對我來說,有效的方法是使用GetMouseState(),其中包含修飾符的布爾值。我一直在嘗試使用GetKeyState(),但我需要傳入一個關鍵代碼。回想起來,我想我可以通過任何關鍵,然後檢查修飾符,因爲這是我真正想要的。無論如何 - 它現在起作用。

def OnDropFiles(self, x, y, filenames): 
    mouse = wx.GetMouseState() 
    if mouse.CmdDown(): 
     self.frame.paths += filenames 
    else: 
     self.frame.paths = filenames 
    self.frame.draw_figure()