ActiveX events in wxPython not working

Perry perry at subdimension.com
Thu Apr 25 10:25:36 EDT 2002


Hi,

I'm using wxPython as an ActiveX (GUI) container. The OCX draws a
gantt
chart from supplied data. Everything works fine, appart events.

Here is the code:

...
from wxPython.lib.activexwrapper import MakeActiveXClass
import win32com.client.gencache
...
# makepy.py -o gchart.py
import gchart
# -- OR --
#try:
#    gchart = win32com.client.gencache.EnsureModule('{A4E79A23-C9E1-11CF-BDD7-02608C4302A9}',
0, 2, 8)
#except:
#    raise ImportError("Can't load OCX")

class MyEvents(wxWindow):
  def OnDiagramLClick(self, x, y, returnStatus):
      print "OnDiagramLClick"
  def KeyPress(self, KeyAscii):
      print "KeyPress"
  def OnSupplyTextEntryAsVariant(self, controlIndex, TextEntry,
returnStatus)
        print "OnSupplyTextEntryAsVariant"

class MyGanttPanel(wxPanel):
  def __init__(self, parent):
     wxPanel.__init__(self, parent, -1)

     sizer = wxBoxSizer(wxVERTICAL)
        
     GanttClass = MakeActiveXClass(gchart.VcGantt, eventObj=MyEvents)
     gantt.VcGantt = GanttClass(self, -1, wxPoint(0,0),
style=wxMAXIMIZE)
     gantt.VcGantt.EnableSupplyTextEntryEvent = 1
        
     sizer.Add(gantt.VcGantt, 1, wxEXPAND)

     self.SetSizer(sizer)
     self.SetAutoLayout(true)


In the file generated by makepy.py I found the following lines,
which I guess explain how to write the functions.

# Handlers for the control
# If you create handlers, they should have the following prototypes:
# def OnHistogramRClick(self,
                        Histogram=defaultNamedNotOptArg,
                        x=defaultNamedNotOptArg,
y=defaultNamedNotOptArg,
                        returnStatus=defaultNamedNotOptArg):
# def OnTableWidth(self,
                   Table=defaultNamedNotOptArg, 
                   tableWidthRatio=defaultNamedNotOptArg, 
                   returnStatus=defaultNamedNotOptArg):


Can somebody pleas tell me what am I doing wrong.

TIA



More information about the Python-list mailing list