我遇到了一个具体的问题,可以在下面的小脚本中总结出来。显然,这是一个更大项目的一部分。
此脚本(称为'my_test.m')打开一个图形并显示图像。设置'ButtonDownFcn',以便在右键单击图像时关闭图形。
让我烦恼的行为是,在数字关闭后,右键点击会在数字背后的任何内容上激活。好像从来没有一个人物。
您是否有想法阻止此行为并告诉操作系统忽略右键单击? 提前谢谢。
配置:
脚本:
function my_test()
handles.f=figure;
handles.a=imshow(ones(400));
set(handles.a,'ButtonDownFcn',{@image_ButtonDownFcn});
guidata(handles.f,handles);
function image_ButtonDownFcn(hObject, eventdata)
handles=guidata(hObject);
switch lower(get(handles.f, 'selectiontype'))
case 'alt' % right click
close(handles.f);
end
答案 0 :(得分:2)
感谢Lucius Domitius Ahenobarbus和RTL,我修改了代码并且它有效。我刚刚更换了这一行:
close(handles.f);
......通过这个:
set(handles.f,'WindowButtonUpFcn','close(gcf);');
这个想法是使用图中的'WindowButtonUpFcn'(图像或轴没有这样的回调),这样在鼠标点击时没有任何反应,但是在鼠标点击释放时图形会自动关闭。可能有更整洁的解决方案?