Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

uimenu

메뉴 또는 메뉴 항목 만들기

설명

m = uimenu는 현재 Figure 내에 메뉴를 만들고 Menu 객체를 반환합니다. 사용할 수 있는 Figure가 없으면 MATLAB®figure 함수를 호출하여 Figure를 만듭니다.

예제

m = uimenu(Name,Value)는 하나 이상의 이름-값 쌍의 인수를 사용하여 메뉴 속성값을 지정합니다.

m = uimenu(parent)는 지정된 부모 컨테이너에 메뉴를 만듭니다. 부모 컨테이너는 figure 또는 uifigure 함수를 사용하여 만든 Figure일 수도 있고 또다른 Menu 객체일 수도 있습니다. uimenu의 속성값은 앱을 figure 함수로 만들었는지 아니면 uifigure 함수로 만들었는지에 따라 약간 달라집니다. 자세한 내용은 이름-값 쌍의 인수 항목을 참조하십시오.

예제

m = uimenu(parent,Name,Value)는 부모 컨테이너와 하나 이상의 속성값을 지정합니다.

예제

모두 축소

디폴트 메뉴 모음을 표시하는 Figure를 만듭니다. 메뉴와 메뉴 항목을 추가합니다.

f = figure('Toolbar','none');
m = uimenu('Text','Options');
mitem = uimenu(m,'Text','Reset');

A figure window with a menu bar. The menu items are "File", "Edit", "View", "Insert", "Tools", "Desktop", "Window", "Help", and "Options". The "Options" item is selected, and displays a drop-down with a "Reset" option.

바로 가기 키가 있는 메뉴 항목을 메뉴 모음에 추가하고 메뉴 항목이 선택되었을 때 실행되는 콜백을 정의합니다.

먼저 importmenu.m이라는 프로그램 파일을 생성합니다. 프로그램 파일 내에서 다음을 수행합니다.

  • Figure를 생성합니다.

  • Import라는 메뉴를 추가합니다. '&Import'를 텍스트 레이블로 지정하여 메뉴의 니모닉 바로 가기 키를 만듭니다.

  • 메뉴 항목을 만들고 니모닉 바로 가기 키와 단축 바로 가기 키를 지정합니다.

  • 사용자가 메뉴 항목을 클릭하거나 니모닉 또는 단축 바로 가기 키를 사용하면 실행되는 MenuSelectedFcn 콜백을 정의합니다.

프로그램 파일을 실행합니다.

function importmenu
fig = uifigure;
m = uimenu(fig,'Text','&Import');
 
mitem = uimenu(m,'Text','&Text File');
mitem.Accelerator = 'T';
mitem.MenuSelectedFcn = @MenuSelected;
 
    function MenuSelected(src,event)
        file = uigetfile('*.txt');
    end
 
end

A menu bar with an "Import" item with a "Text File" sub-item. The "I" in "Import" and the "T" in "Text File" are underlined. The Ctrl+T keyboard shortcut is displayed to the right of the "Text File" item.

다음과 같이 키보드를 사용하여 메뉴 및 메뉴 항목과 상호 작용할 수 있습니다.

  • Alt+I를 눌러 Import 메뉴를 선택합니다.

  • Alt+I+T를 눌러 Text File 메뉴 항목을 선택하고 콜백을 실행합니다.

  • Text File 메뉴 항목을 선택하고 단축 키 Ctrl+T를 사용하여 콜백을 실행합니다.

Text File 메뉴 항목을 선택하면 열려는 파일 선택 대화 상자가 열리는데 확장자 필드는 텍스트 파일로 필터링된 상태로 열립니다.

좌표축에서 그리드를 표시하도록 선택하거나 선택 취소할 수 있는 체크박스가 선택된 메뉴 항목을 만듭니다. 버튼을 눌러도 그리드가 표시되거나 숨겨지도록 누름 버튼이 있는 콜백을 공유합니다.

먼저 plotOptions.m이라는 프로그램 파일을 생성합니다. 프로그램 파일 내에서 다음을 수행합니다.

  • 누름 버튼이 있는 Figure와 그리드를 표시하는 좌표축을 만듭니다.

  • 니모닉이 있는 메뉴와 메뉴 항목을 추가합니다. 메뉴 항목이 선택되었다고 지정합니다.

  • 사용자가 메뉴 항목과 상호 작용하면 그리드를 숨기거나 표시하는 MenuSelectedFcn 콜백을 정의합니다.

  • 메뉴 항목과 동일한 콜백 함수를 사용하는 ButtonPushedFcn을 정의합니다.

프로그램 파일을 실행합니다.

function plotOptions
fig = uifigure;
ax = uiaxes(fig);
grid(ax);
btn = uibutton(fig,'Text','Show Grid');
btn.Position = [155 325 100 20];

m = uimenu(fig,'Text','&Plot Options');
mitem = uimenu(m,'Text','Show &Grid','Checked','on');
mitem.MenuSelectedFcn = @ShowGrid;
btn.ButtonPushedFcn = @ShowGrid;

    function ShowGrid(src,event)
        grid(ax);
        if strcmp(mitem.Checked,'on')
            mitem.Checked = 'off';
        else
            mitem.Checked = 'on';
        end
    end
end

An app with a menu bar, button, and set of axes. The "Show Grid" menu item has a checked check box to the left of the text.

입력 인수

모두 축소

부모 컨테이너로, figure 또는 uifigure 함수를 사용하여 만든 Figure 객체나 또다른 Menu 객체나 ContextMenu 객체로 지정됩니다. 부모 컨테이너를 지정하지 않으면 MATLAB은 figure를 호출하여 Figure를 만든 다음 이 Figure의 메뉴 모음에 메뉴를 배치합니다. 메뉴에 메뉴 항목을 추가하거나 메뉴 항목을 중첩하려면 부모 컨테이너를 기존 Menu 객체로 지정합니다.

이름-값 인수

예: m = uimenu('Text','Open')은 메뉴를 만들고 메뉴의 레이블을 'Open'으로 설정합니다.

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

참고

여기에 나와 있는 속성은 사용 가능한 속성의 일부에 불과합니다. 전체 목록을 보려면 Menu Properties 항목을 참조하십시오.

메뉴 레이블로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 이 속성은 메뉴 또는 메뉴 항목에 나타나는 레이블을 지정합니다.

대/소문자를 구분하는 다음의 예약어 'default', 'remove', 'factory'는 사용하지 마십시오. 예약어를 꼭 사용해야 하면 해당 단어 앞에 백슬래시 문자를 지정하십시오. 예를 들어, 'default''\default'로 지정합니다.

레이블 텍스트에 앰퍼샌드(&) 문자를 사용하여 니모닉 바로 가기 키(Alt+mnemonic)를 지정할 수 있습니다. 앰퍼샌드 뒤에 오는 문자는 Alt를 눌렀을 때 메뉴에서 밑줄이 그어져 나타납니다. Alt 키를 누른 채로 표시된 문자를 눌러 메뉴 항목을 선택할 수 있습니다.

니모닉 키를 사용하려면 앱에서 정의하는 모든 메뉴와 메뉴 항목에 대한 니모닉 키를 지정해야 합니다. 일부 메뉴 또는 메뉴 항목에 대한 니모닉 키만 정의하는 경우 Alt 키를 눌러도 아무런 효과가 없습니다.

다음 표에서 몇 가지 예를 볼 수 있습니다.

텍스트 값니모닉 힌트가 있는 메뉴 레이블
'&Open Selection'

'O&pen Selection'

'&Save && Go'

바로 가기 키로, 문자로 지정됩니다. 이 속성을 사용하여 메뉴 항목을 선택하는 바로 가기 키를 정의할 수 있습니다.

예: mitem.Accelerator = 'H'

액셀러레이터 값을 지정하면 사용자는 마우스를 사용하는 대신, 문자와 또 하나의 키를 눌러 메뉴 항목을 선택할 수 있습니다. 키 시퀀스는 플랫폼별로 다릅니다.

  • Windows® 시스템: Ctrl+accelerator

  • Macintosh 시스템: Command+accelerator

  • Linux® 시스템: Ctrl+accelerator

액셀러레이터를 사용할 때 유의해야 할 점:

  • 단축 키 시퀀스를 입력할 때 앱 창에 초점이 맞춰져 있어야 합니다.

  • 최상위 수준 메뉴에는 액셀러레이터를 사용할 수 없습니다.

  • 액셀러레이터는 메뉴 항목이 다음 조건을 모두 충족할 때만 작동합니다.

    • 하위 메뉴 항목을 포함하지 않습니다.

    • 콜백 함수를 실행합니다.

    • Visible 속성이 'on'으로 설정되었습니다.

선택된 메뉴 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

  • 첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.

  • 유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.

콜백은 메뉴 항목의 위치와 상호 작용의 유형에 따라 응답합니다.

  • 메뉴를 마우스 왼쪽 버튼으로 클릭하면 메뉴가 확장되고 콜백을 트리거합니다.

  • 메뉴가 확장되어 있는 동안 다른 부모 메뉴(또는 최상위 메뉴) 위에 마우스 포인터를 올려놓으면 메뉴가 확장되고 콜백을 트리거합니다.

참고

콜백을 사용하여 동적으로 메뉴 항목을 변경하지 마십시오. 콜백에서 메뉴 항목을 삭제, 추가 및 교체하면 빈 메뉴가 만들어질 수 있습니다. 대신, Visible 속성을 사용하여 메뉴 항목을 숨기거나 표시하십시오. 또한 Enable 속성을 설정하여 메뉴 항목을 활성화하고 비활성화할 수 있습니다. 메뉴 항목을 완전히 다시 채우려면 메뉴 항목을 삭제하고 콜백 밖에서 만드십시오.

콜백을 작성하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 작성하기 항목을 참조하십시오.

구분선 모드로, 'off' 또는 'on'이나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

이 속성을 'on'으로 설정하면 메뉴 항목 위에 분할선이 그려집니다.

참고

메뉴 항목이 최상위 메뉴 항목일 때는 Separator 속성은 무시됩니다.

메뉴 확인 표시자로, 'off' 또는 'on'이나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

이 속성을 'on'으로 설정하면 대응하는 메뉴 항목 옆에 확인 표시가 삽입됩니다. 이 속성을 'off'로 설정하면 확인 표시가 제거됩니다. 이 기능을 사용하여 응용 프로그램에서 기능을 활성화하거나 비활성화하는 메뉴 항목의 상태를 나타낼 수 있습니다.

참고

메뉴 항목이 다음 조건일 때는 Checked 속성은 무시됩니다.

  • 최상위 메뉴 항목

  • 하나 이상의 자식 메뉴 항목이 들어 있는 메뉴 항목

버전 내역

R2006a 이전에 개발됨