Cancelling events on a COM Object

Oliver Nelson oliver at ootbc.com
Sat Aug 18 13:05:36 EDT 2007


Roger,

I tried modifying my code so that I have

def OnBeforeClick(self, Button, Shift, X, Y, Cancel):
	print "click"
	Cancel = True
	return Cancel

But this doesn't seem to have changed anything.  Am I doing this wrong?

OLIVER

Roger Upole wrote:
> Oliver Nelson 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
> 
> Instead of assigning to the variable name, output parameters need to be
> returned from the method
> 
>              Roger
> 
> 
> 
> 



More information about the Python-list mailing list