简单的细节被忽视的传奇
ItemHitFcn
回调的文档。
- “alt”单击鼠标右键,鼠标按钮(Windows和Mac),或鼠标中键(Mac和Linux)。如果快捷菜单属性包含一个有效的上下文菜单(默认),那么这种类型的点击打开上下文菜单而不是触发ItemHitFcn回调。
设置
快捷菜单
财产等于允许空数组值
ItemHitFcn
在鼠标右键使用的行为预期。
%设置测试情节与传奇
x = linspace (0, 10);
日元= sin (x);y2 = cos (x);y3 = sin (x) + cos (x);y4 = sin (x) * cos (x);
hFig =图;
情节(x, y₁, x, y2, x, y3, x, y4)
hLeg =传奇(1号线的,“第2行”,3号线的,4号线的);
%指定回调函数
hLeg。ItemHitFcn = @LineVisible;
hLeg。快捷菜单= [];
%或
%设置(hLeg ItemHitFcn, @LineVisible,“快捷菜单”,[])
代码与鼠标左键切换线可见性和打开上下文菜单行删除。
函数LineVisible (src、事件)
% LINEVISIBLE切换可见线的情节通过选择传奇
%或删除不需要的物品。
%确定哪个鼠标按钮是用来激活ItemHitFcn回调
%的传说
如果比较字符串(event.SelectionType“正常”)
%检查当前可见性设置的情节和来源
%切换到相反的状态
如果比较字符串(event.Peer.Visible“上”)
event.Peer。可见=“关闭”;
其他的
event.Peer。可见=“上”;
结束
elseif比较字符串(event.SelectionType“alt”)
%创建一个上下文菜单,启动后立即
%这个函数执行完成
hCM = uicontextmenu (gcf);
uimenu (hCM,“文本”,“Delete Item”,“MenuSelectedFcn”,{@DeleteItem、事件});
src。快捷菜单= hCM;
结束
结束
% %
函数hItem DeleteItem (~ ~)
%删除目标项目和重置传奇的快捷菜单属性
删除(hItem.Peer)
hItem.Source。快捷菜单= [];
结束