0
下面的代码是我的任务栏图标类的简化版本,我没有检查GetKeyCode()
的值,看看它是否为ctrl,因为按键事件不是被解雇。我应该将键盘按键绑定到别的地方吗?检测任务栏菜单上的ctrl单击
class TBI(wx.TaskBarIcon):
TBMENU_CTRLCLICK= wx.NewId()
def __init__(self,frame):
wx.TaskBarIcon.__init__(self)
self.frame=frame
self.ctrl_down=False
self.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)
self.Bind(wx.EVT_KEY_UP, self.OnKeyUp)
self.Bind(wx.EVT_MENU, self.OnCtrlClick, id=self.TBMENU_CTRLCLICK)
def CreatePopupMenu(self):
menu= wx.Menu()
if self.ctrl_down:
menu.Append(self.TBMENU_CTRLCLICK, "Ctrl Click")
menu.AppendSeparator()
menu.Append(wx.ID_EXIT, "Exit")
return menu
def OnKeyDown(self,event):
self.ctrl_down=True
event.Skip()
def OnKeyUp(self,event):
self.ctrl_down=False
event.Skip()