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