상황별 메뉴 정의하기
R2026b이 예제에서는 상황별 메뉴를 정의하는 방법을 보여줍니다.
상황별 메뉴를 사용하는 경우
사용자가 상황별 메뉴가 할당된 그래픽스 객체를 마우스 오른쪽 버튼으로 클릭하면 상황별 메뉴가 표시됩니다. 상황별 메뉴를 사용하여 그래픽스 객체와 상호 작용할 수 있는 옵션을 사용자에게 제공할 수 있습니다.
사용자가 다음을 수행할 수 있도록 하려면 상황별 메뉴를 프로그래밍합니다.
그래픽스 객체를 마우스 오른쪽 버튼으로 클릭하여 특정 옵션 중에서 선택
메뉴 레이블을 통해 각 옵션의 용도 제공
키 조합을 알지 않고도 특정 결과 생성
상황별 메뉴를 정의하는 방법
출력 인수를 지정하여
uicontextmenu함수를 호출해ContextMenu객체를 만듭니다.uimenu를 사용하여 각 메뉴 항목을 생성합니다.상황별 메뉴의 각 메뉴 항목에 대해 콜백을 정의합니다.
개별 메뉴 항목의 부모 항목으로 상황별 메뉴를 지정하고 해당 콜백을 할당합니다.
ContextMenu객체를 상황별 메뉴를 정의하는 객체의ContextMenu속성에 할당합니다.
function cm = defineCM cm = uicontextmenu; uimenu(cm,"Text","Wider","MenuSelectedFcn",@increaseLW); uimenu(cm,"Text","Inspect","MenuSelectedFcn",@inspectLine); end function increaseLW(~,~) % Increase line width h = gco; orgLW = h.LineWidth; h.LineWidth = orgLW+1; end function inspectLine(~,~) % Open the property inspector h = gco; inspect(h) end
defineCM 함수는 생성되는 상황별 메뉴 객체를 반환합니다. plot 함수로 생성되는 line 객체의 ContextMenu 속성에 이 객체를 할당합니다.
plot(rand(1,5),"ContextMenu",defineCM)