Move event will not be performed

Franz Steinhaeusler franz.steinhaeusler at gmx.at
Wed Mar 5 06:05:09 PST 2008


Hello, how is it possible to send to an object (here a frame) an Move Event.

The print statements outputs the same values (if the frame is dragged or the move event is called
on the end of __init__, but nothing happens. What is wrong here?

regards,

import wx

class Panel(wx.Panel):   
    def __init__(self,parent):
        wx.Panel.__init__(self,parent)
        self.Bind (wx.EVT_MOVE, self.OnMove)
    
    def OnMove (self, event):
        print "move1"
        event.Skip()

class Frame(wx.Frame):   
    def __init__(self,parent):
        wx.Frame.__init__(self,parent,-1)
        panel = Panel(self)
        self.Center()
        self.Bind (wx.EVT_MOVE, self.OnMove)
        mv = wx.MoveEvent((400, 200), winid = -201)
        mv.SetEventObject(self)
        #print self.GetEvtHandlerEnabled()
        print "hi:", wx.CallAfter(self.ProcessEvent, mv)
        #print "hi:", self.ProcessEvent(mv)
    
    def OnMove (self, event):
        print "move"
        #print event.GetPosition()
        #print event.EventObject
        #print event.EventType
        #print event.Id
        #print event.Rect
        #print event.ClassName
        #print event.IsCommandEvent()
        #print event.GetSkipped()
        #print event.ShouldPropagate()
        print "end move"
        event.Skip()

app = wx.App(redirect = False)
frame = Frame(None)
frame.Show(True)
app.MainLoop()



-- 

Franz Steinhaeusler





More information about the wxpython-users mailing list