Canceling events on COM Objects in python
Oliver Nelson
oliver at ootbc.com
Sat Aug 18 13:02:53 EDT 2007
Mike,
Thank you for the suggestion. I will ask over there also. The event is
sent back from the COM interface as the code illustrates.
MakeActiveXClass allows me to pass the object that will receive events.
I don't understand much more detail about how it works. It is
certainly a different model than the standard wx event system...
OLIVER
kyosohma at gmail.com wrote:
> On Aug 17, 11:54 pm, Oliver Nelson <oli... at ootbc.com> wrote:
>> I have MapPoint working in Python, and I'm trying to cancel events on
>> the map, but I can't seem to make that happen. I'm responding to the
>> events successfully in my panel object. My code is like this:
>>
>> global MapPointMod
>> MapPointMod =
>> win32com.client.gencache.EnsureModule("{51C0A9CA-F7B7-4F5A-96F4-43927C6FA50F}",
>> 0, 1, 0)
>>
>> class MyPanel(wx.Panel):
>> def __init__(self, *args, **kwds):
>> # begin wxGlade: MyPanel.__init__
>> kwds["style"] = wx.TAB_TRAVERSAL
>> wx.Panel.__init__(self, *args, **kwds)
>> self.frame = args[0]
>>
>> MyMap = MakeActiveXClass(MapPointMod.MappointControl,
>> eventObj=self)
>> self.window_1 = MyMap(self, -1)
>> self.window_1.OpenMap("C:\\TEMP\\GPS_ON.ptt")
>> ...
>> ...
>> def OnBeforeClick(self, Button, Shift, X, Y, Cancel):
>> print "tada"
>>
>> My event fires just fine, but I can't seem to figure out how to cancel
>> the event so that mappoint doesn't do its stuff with it...I've tried
>> setting Cancel based on the mappoint specs, but it doesn't seem to get
>> sent back anywhere...
>>
>> Any ideas please?
>>
>> Thanx,
>>
>> OLIVER
>
> This probably isn't the best place to post questions of this nature.
> You should try the wxPython's user group or the pywin32 group.
>
> http://wxpython.org/maillist.php
> http://mail.python.org/mailman/listinfo/python-win32
>
> Is the event you're trying to cancel caught by wxPython's event
> handlers or win32?
>
> Mike
>
More information about the Python-list
mailing list