将鼠标点击传递给被遮盖对象
本例演示如何将鼠标点击传递给被遮盖对象。
将图形对象的 PickableParts
属性设置为 none
以防止该对象捕获鼠标点击。此示例:
为坐标区定义了一个上下文菜单,它使用值
on
或off
调用hold
。创建一个图形,该图形中的数据对象都不能捕获鼠标点击,从而让所有的右键点击都传递到坐标区并调用上下文菜单。
axesHoldCM
函数定义了上下文菜单并返回其句柄。
function cmHandle = axesHoldCM cmHandle = uicontextmenu; uimenu(cmHandle,'Label','hold on','Callback',@holdOn); uimenu(cmHandle,'Label','hold off','Callback',@holdOff); end function holdOn(~,~) fig = gcbf; ax = fig.CurrentAxes; hold(ax,'on') end function holdOff(~,~) fig = gcbf; ax = fig.CurrentAxes; hold(ax,'off') end
创建一个条形图并设置条形图对象的 PickableParts
属性:
bar(1:20,'PickableParts','none')
创建当前坐标区的上下文菜单:
ax = gca; ax.ContextMenu = axesHoldCM
右键点击图形中的条形并显示坐标区上下文菜单: