상황별 메뉴 정의하기
이 예제에서는 상황별 메뉴를 정의하는 방법을 보여줍니다.
상황별 메뉴를 사용하는 경우
사용자가 상황별 메뉴가 할당된 그래픽스 객체를 마우스 오른쪽 버튼으로 클릭하면 상황별 메뉴가 표시됩니다. 상황별 메뉴를 사용하여 그래픽스 객체와 상호 작용할 수 있는 옵션을 사용자에게 제공할 수 있습니다.
사용자가 다음을 수행할 수 있도록 하려면 상황별 메뉴를 프로그래밍합니다.
그래픽스 객체를 마우스 오른쪽 버튼으로 클릭하여 특정 옵션 중에서 선택
메뉴 레이블을 통해 각 옵션의 용도 제공
키 조합을 알지 않고도 특정 결과 생성
상황별 메뉴를 정의하는 방법
출력 인수를 지정하여
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)