마우스 클릭을 가려진 객체로 전달하기
이 예제에서는 마우스 클릭을 가려진 객체로 전달하는 방법을 보여줍니다.
그래픽스 객체의 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
막대 그래프를 생성하고 Bar 객체의 PickableParts
속성을 설정합니다.
bar(1:20,'PickableParts','none')
현재 좌표축에 대한 상황별 메뉴를 생성합니다.
ax = gca; ax.ContextMenu = axesHoldCM
그래프의 막대를 마우스 오른쪽 버튼으로 클릭하고 좌표축의 상황별 메뉴를 표시합니다.