Перетаскивание с модификаторами в wxpython - PullRequest
0 голосов
/ 28 января 2011

Есть ли способ перехватить модификаторы во время перетаскивания в wxpython? Он упоминается в нескольких постах как sidenote ( OLE способ перетаскивания в wxPython , wx.TreeCtrl, перетаскивание, копирование и перемещение ), но ни одно из этих упоминаний как ловить эти модификаторы.

Мне известно о CmdDown (), но для этого требуется EVT_CHAR. Есть ли способ заставить EVT_CHAR во время перетаскивания (на холст)?

В конце концов, я мог бы использовать некоторые глобальные хуки, но я знаю, что в подобных пакетах есть эквиваленты, которые позволяют вам ловить модификаторы.

Любая помощь приветствуется.

1 Ответ

1 голос
/ 29 января 2011

Что мне помогло, так это использование 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()
...