What am I doing wrong with wxTreeCtrl events?

Hi,

I am trying to set up a tree list that displays
information about the selected elements in a different
frame. For some reason, the callback functions never
get activated, though. I don't know what I'm doing
wrong. Here is some example code:

---------- start Python code --------------
from wxPython.wx import *

ID_CHANGE = 100
ID_COLLAPSE = 101
ID_EXPAND = 102
ID_ACTIVATE = 103

class mainWindow (wxFrame):
  
    def __init__( self, parent, id, title ):

        wxFrame.__init__( self, parent, id, title,
                wxDefaultPosition, wxSize(800,600) )
        self.tree = wxTreeCtrl( self, -1,
style=wxTR_HAS_BUTTONS )

        rootNode = self.tree.AddRoot( "Root" )
        for group in range(5):
            groupNode = self.tree.AppendItem(
rootNode, "Group "+str(group) )
            for item in range(10):
                self.tree.AppendItem( groupNode, "Item
"+str(item) )

        self.Show( True )

        EVT_TREE_ITEM_ACTIVATED( self, ID_ACTIVATE,
self.OnTreeEvent )
        EVT_TREE_SEL_CHANGED( self, ID_CHANGE,
self.OnTreeEvent )
        EVT_TREE_ITEM_EXPANDED( self, ID_EXPAND,
self.OnTreeEvent )
        EVT_TREE_ITEM_COLLAPSED( self, ID_COLLAPSE,
self.OnTreeEvent )

    def OnTreeEvent( self, event ):
        print "Tree event received!"

class App (wxApp):
    def OnInit( self ):
        frame = mainWindow( None, -1, "wxTreeCtrl
Event Tester" )
        self.SetTopWindow( frame )
        return True

app = App(0)
app.MainLoop()
---------- end Python code --------------

which should print a message every time I select an
element, collapse a group etc. However, OnTreeEvent()
never gets called, no matter what I do. Please let me
know where my mistake is.

Thanks
Klaus