Main Content

이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

상황별 메뉴 정의하기

이 예제에서는 상황별 메뉴를 정의하는 방법을 보여줍니다.

상황별 메뉴를 사용하는 경우

사용자가 상황별 메뉴가 할당된 그래픽스 객체를 마우스 오른쪽 버튼으로 클릭하면 상황별 메뉴가 표시됩니다. 상황별 메뉴를 사용하여 그래픽스 객체와 상호 작용할 수 있는 옵션을 사용자에게 제공할 수 있습니다.

사용자가 다음을 수행할 수 있도록 하려면 상황별 메뉴를 프로그래밍합니다.

  • 그래픽스 객체를 마우스 오른쪽 버튼으로 클릭하여 특정 옵션 중에서 선택

  • 메뉴 레이블을 통해 각 옵션의 용도 제공

  • 키 조합을 알지 않고도 특정 결과 생성

상황별 메뉴를 정의하는 방법

  • 출력 인수를 지정하여 uicontextmenu 함수를 호출해 ContextMenu 객체를 만듭니다.

  • uimenu를 사용하여 각 메뉴 항목을 생성합니다.

  • 상황별 메뉴의 각 메뉴 항목에 대해 콜백을 정의합니다.

  • 개별 메뉴 항목의 부모 항목으로 상황별 메뉴를 지정하고 해당 콜백을 할당합니다.

  • ContextMenu 객체를 상황별 메뉴를 정의하는 객체의 ContextMenu 속성에 할당합니다.

function cmHandle = defineCM
   cmHandle = uicontextmenu;
   uimenu(cmHandle,'Label','Wider','Callback',@increaseLW);
   uimenu(cmHandle,'Label','Inspect','Callback',@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)

사용자의 특정 요구 사항에 맞춰 이와 유사한 프로그래밍 패턴을 활용하십시오.