我创建了一个类,为构造中的图形添加功能。这个类创建一个监听器WindowMouseMotion
事件;但是,为了触发此事件,我必须为该图添加一个虚拟回调函数WindowButtonMotionFcn
财产。我首先检查该属性是否已填充。如果不是,那么我将其设置为一个不执行任何操作的虚拟回调函数。
我可以简单地将这个虚拟回调添加到任何现有回调中,而不是检查该属性是否已设置吗?一个回调属性可以调用多个函数吗?
EDIT
当使用handle.listener
的处理方法WindowButtonMotionEvent
下面给出的事件,请务必使用eventdata.CurrentPoint
访问当前鼠标位置。这CurrentPoint
在处理之前,图形的属性不会更新WindowButtonMotionEvent
事件以这种方式进行。
相关文章可以在客座博主 Matt Whitaker 的 Yair Altman 的 Undocumented MATLAB 博客上找到。你所指的是回调链,并引用博客中的内容:
说实话,写完代码
之前处理回调
连锁,我宁愿戳自己
用叉子戳眼睛!
幸运的是,该文章中似乎有一个替代解决方案。使用那里发布的代码片段,我能够获得一个在鼠标移动时执行的函数without必须设置'WindowButtonMotionFcn'
。我向当前图形添加了一个侦听器,如下所示:
myListener = handle.listener(gcf,'WindowButtonMotionEvent',...
@(hSource,eventData) disp('hello'));
和消息hello
当我在窗口中移动鼠标时显示。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)