Main Content

unregisterevent

在运行时注销与 COM 对象事件关联的事件处理程序

说明

示例

unregisterevent(c,eventhandler) 将删除特定事件处理程序例程与相应事件之间的关联。注销某事件后,对象将不再对该事件做出响应。您可以在创建控件之后随时注销事件。

示例

全部折叠

Microsoft® Excel® 工作簿 Deactivate 事件中注销 EvtDeactivateHndlr 事件处理程序。

要运行此示例,请创建一个工作簿并注册事件。

myApp = actxserver('Excel.Application');
wbs = myApp.Workbooks;
wb = Add(wbs);
registerevent(wb,{'Activate' 'EvtActivateHndlr'; 'Deactivate' 'EvtDeactivateHndlr'})
eventlisteners(wb)
ans =

  2×2 cell array

    'Activate'      'EvtActivateHndlr'  
    'Deactivate'    'EvtDeactivateHndlr'

注销 Deactivate 事件处理程序。MATLAB® 将显示其余的已注册事件 (Activate) 及其对应的事件处理程序。

unregisterevent(wb,{'Deactivate' 'EvtDeactivateHndlr'})
eventlisteners(wb)
ans =

  1×2 cell array

    'Activate'    'EvtActivateHndlr'

输入参数

全部折叠

COM 对象,指定为函数句柄。

事件发生时调用的函数,以元胞数组形式指定。需要同时指定事件和事件处理程序。

使用事件的名称在 eventhandler 参数中指定事件。eventhandler 参数中使用的字符串或字符向量不区分大小写。unregisterevent 不接受数值事件标识符。

局限性

  • COM 函数只可以在 Microsoft Windows® 系统中使用。

版本历史记录

在 R2006a 之前推出