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');
바로 가기 키와 콜백이 있는 메뉴 항목
바로 가기 키가 있는 메뉴 항목을 메뉴 모음에 추가하고 메뉴 항목이 선택되었을 때 실행되는 콜백을 정의합니다.
먼저 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
다음과 같이 키보드를 사용하여 메뉴 및 메뉴 항목과 상호 작용할 수 있습니다.
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
입력 인수
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오.
예: m = uimenu('Text','Open')
은 메뉴를 만들고 메뉴의 레이블을 'Open'
으로 설정합니다.
참고
여기에 나와 있는 속성은 사용 가능한 속성의 일부에 불과합니다. 전체 목록을 보려면 Menu 속성 항목을 참조하십시오.
Text
— 메뉴 레이블
문자형 벡터 | string형 스칼라
메뉴 레이블로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 이 속성은 메뉴 또는 메뉴 항목에 나타나는 레이블을 지정합니다.
대/소문자를 구분하는 다음의 예약어 'default'
, 'remove'
, 'factory'
는 사용하지 마십시오. 예약어를 꼭 사용해야 하면 해당 단어 앞에 백슬래시 문자를 지정하십시오. 예를 들어, 'default'
는 '\default'
로 지정합니다.
레이블 텍스트에 앰퍼샌드(&) 문자를 사용하여 니모닉 바로 가기 키(Alt+mnemonic
)를 지정할 수 있습니다. 앰퍼샌드 뒤에 오는 문자는 Alt를 눌렀을 때 메뉴에서 밑줄이 그어져 나타납니다. Alt 키를 누른 채로 표시된 문자를 눌러 메뉴 항목을 선택할 수 있습니다.
니모닉 키를 사용하려면 앱에서 정의하는 모든 메뉴와 메뉴 항목에 대한 니모닉 키를 지정해야 합니다. 일부 메뉴 또는 메뉴 항목에 대한 니모닉 키만 정의하는 경우 Alt 키를 눌러도 아무런 효과가 없습니다.
다음 표에서 몇 가지 예를 볼 수 있습니다.
텍스트 값 | 니모닉 힌트가 있는 메뉴 레이블 |
---|---|
'&Open Selection' | |
'O&pen Selection' | |
'&Save && Go' | |
Accelerator
— 바로 가기 키
문자형 | string형
바로 가기 키로, 하나의 문자를 포함하는 문자형 또는 string형으로 지정됩니다. 이 속성을 사용하여 메뉴 항목을 선택하는 바로 가기 키를 정의할 수 있습니다.
예: mitem.Accelerator = "H"
단축 키 값을 지정하면 사용자는 마우스를 사용하는 대신, 문자와 또 하나의 키를 눌러 메뉴 항목을 선택할 수 있습니다. 키 시퀀스는 플랫폼별로 다릅니다.
Windows® 시스템: Ctrl+
accelerator
Macintosh 시스템: Command+
accelerator
Linux® 시스템: Ctrl+
accelerator
단축 키를 사용할 때 유의해야 할 점:
단축 키 시퀀스를 입력할 때 앱 창에 초점이 맞춰져 있어야 합니다.
최상위 수준 메뉴에는 단축 키를 사용할 수 없습니다.
단축 키는 메뉴 항목이 다음 조건을 모두 충족할 때만 작동합니다.
하위 메뉴 항목을 포함하지 않습니다.
콜백 함수를 실행합니다.
Visible
속성이'on'
으로 설정되었습니다.해당 단축 키 값이 같은 앱 내에서 다른 메뉴 항목에 이미 할당되어 있지 않습니다.
MenuSelectedFcn
— 선택된 메뉴 콜백
''
(디폴트 값) | 함수 핸들 | 셀형 배열 | 문자형 벡터
선택된 메뉴 콜백으로, 다음 값 중 하나로 지정됩니다.
함수 핸들.
첫 번째 요소가 함수 핸들인 셀형 배열. 이 셀형 배열의 그 다음 요소들은 콜백 함수로 전달할 인수입니다.
유효한 MATLAB 표현식이 포함된 문자형 벡터(권장되지 않음). MATLAB은 이 표현식을 기본 작업 공간에서 실행합니다.
콜백은 메뉴 항목의 위치와 상호 작용의 유형에 따라 응답합니다.
메뉴를 마우스 왼쪽 버튼으로 클릭하면 메뉴가 확장되고 콜백을 트리거합니다.
메뉴가 확장되어 있는 동안 다른 부모 메뉴(또는 최상위 메뉴) 위에 마우스 포인터를 올려놓으면 메뉴가 확장되고 콜백을 트리거합니다.
참고
콜백을 사용하여 동적으로 메뉴 항목을 변경하지 마십시오. 콜백에서 메뉴 항목을 삭제, 추가 및 교체하면 빈 메뉴가 만들어질 수 있습니다. 대신, Visible
속성을 사용하여 메뉴 항목을 숨기거나 표시하십시오. 또한 Enable
속성을 설정하여 메뉴 항목을 활성화하고 비활성화할 수 있습니다. 메뉴 항목을 완전히 다시 채우려면 메뉴 항목을 삭제하고 콜백 밖에서 만드십시오.
콜백을 작성하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 항목을 참조하십시오.
Separator
— 구분선 모드
'off'
(디폴트 값) | on/off 논리값
구분선 모드로, 'off'
또는 'on'
이나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
이 속성을 'on'
으로 설정하면 메뉴 항목 위에 분할선이 그려집니다.
참고
메뉴 항목이 최상위 메뉴 항목일 때는 Separator
속성은 무시됩니다.
Checked
— 메뉴 확인 표시자
'off'
(디폴트 값) | on/off 논리값
메뉴 확인 표시자로, 'off'
또는 'on'
이나 숫자형 값 또는 논리값 1
(true
) 또는 0
(false
)으로 지정됩니다. 값 'on'
은 true
와 동일하고 값 'off'
는 false
와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState
유형의 on/off 논리값으로 저장됩니다.
이 속성을 'on'
으로 설정하면 대응하는 메뉴 항목 옆에 확인 표시가 삽입됩니다. 이 속성을 'off'
로 설정하면 확인 표시가 제거됩니다. 이 기능을 사용하여 응용 프로그램에서 기능을 활성화하거나 비활성화하는 메뉴 항목의 상태를 나타낼 수 있습니다.
참고
메뉴 항목이 다음 조건일 때는 Checked
속성은 무시됩니다.
최상위 메뉴 항목
하나 이상의 자식 메뉴 항목이 들어 있는 메뉴 항목
버전 내역
R2006a 이전에 개발됨
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)