Python Forum

Full Version: multiple binds
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
hello,
I am having trouble with events in my program:
    .
    .
    .
    self.userinput = wx.TextCtrl(pnl, style = wx.TE_PROCESS_ENTER)
    self.userinput.Bind(wx.EVT_KEY_DOWN, self.OnArrowDown)
    self.userinput.Bind(wx.EVT_TEXT_ENTER, self.OnUserEnter)
    .
    .
    .
def OnArrowDown(self,event):
    keycode=event.GetKeyCode()
    if keycode == wx.WXK_DOWN:
        self.passinput.SetFocus()
        event.Skip()
    .
    . 
    .
def OnUserEnter(self,event):
    self.passinput.SetFocus()
    event.Skip
when I run my program only the OnArrowDown() method seems to be running, is it possible to have to different events for one widget? Does Anyone know how to get both of these methods to run simultaneously?
thank you
In method OnArrowDown move event.Skip() out of the if statement so the remaining events can be processed.
At the moment other events are only processed if the down arrow was pressed.

def OnArrowDown(self,event):
    keycode=event.GetKeyCode()
    if keycode == wx.WXK_DOWN:
        self.passinput.SetFocus()
    event.Skip()