| External Interfaces/API Reference | ![]() |
Unregister an event handler with a control's event
Syntax
Arguments
h
Handle for a MATLAB COM control object.
callback
Name of an M-function previously registered with this object to handle events. Callbacks are registered using either actxcontrol or registerevent.
event
Any event associated with h that can be triggered. Specify event using the event name. Unlike actxcontrol, unregisterevent does not accept numeric event identifiers.
eventhandler
Name of the event handler routine that you want to unregister for the event specified in the preceding event argument.
Description
Unregister the specified callback routines with all events for this control, or unregister each specified eventhandler routine with the event associated with it in the argument list. Once you unregister a callback or event handler routine, MATLAB no longer responds to the event using that routine.
The strings specified in the callback, event, and eventhandler arguments are not case sensitive.
You can unregister events at any time after a control has been created.
Examples
Create an mwsamp control and register all events with the same callback routine, sampev. Use the eventlisteners function to see the event handler used by each event. In this case, each event, when fired, will call sampev.m:
f = figure ('pos', [100 200 200 200]); h = actxcontrol('mwsamp.mwsampctrl.2', [0 0 200 200], f, ... 'sampev'); eventlisteners(h) ans = 'click' 'sampev' 'dblclick' 'sampev' 'mousedown' 'sampev'
Unregister just the dblclick event. Now, when you list the registered events using eventlisteners, you see that dblclick is no longer registered. The control will no longer respond when you double-click the mouse over it:
unregisterevent(h, {'dblclick' 'sampev'}); eventlisteners(h) ans = 'click' 'sampev' 'mousedown' 'sampev'
This time, register the click and dblclick events with a different event handler for each: myclick and my2click, respectively:
registerevent(h, {'click' 'myclick'; 'dblclick' 'my2click'}); eventlisteners(h) ans = 'click' 'myclick' 'dblclick' 'my2click'
You can unregister these same events by specifying event names and their handler routines in a cell array. Note that eventlisteners now returns an empty cell array, meaning that no events are registered for the mwsamp control:
In this last example, you could have used unregisterallevents instead:
See Also
events, eventlisteners, registerevent, unregisterallevents, isevent
| unregisterallevents (COM) | DDE Functions | ![]() |