Main Content

UI Figure 속성

uifigure 기반 앱의 UI Figure 모양 및 동작 제어

UI Figure는 앱을 앱 디자이너에서 작성하거나 uifigure 함수를 사용하여 프로그래밍 방식으로 작성하기 위한 컨테이너입니다. 속성은 UI Figure의 모양과 동작을 제어합니다. 다음과 같이 점 표기법을 사용하여 특정 객체와 속성을 참조하십시오.

fig = uifigure;
fig.Name = 'My App'; 

창 모양

모두 확장

배경색으로, RGB 3색, 16진수 색 코드 또는 표에 나열된 색 옵션 중 하나로 지정됩니다.

사용자 지정 색의 경우에는 RGB 3색 또는 16진수 색 코드를 지정하십시오.

  • RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는 [0,1]이어야 합니다(예: [0.4 0.6 0.7]).

  • 16진수 색 코드는 string형 스칼라 또는 문자형 벡터로, 해시 기호(#)로 시작하고 그 뒤에 3자리 또는 6자리의 16진수 숫자(0에서 F 사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드 "#FF8800", "#ff8800", "#F80""#f80"은 모두 동일합니다.

몇몇의 흔한 색은 이름으로 지정할 수도 있습니다. 다음 표에는 명명된 색 옵션과 그에 해당하는 RGB 3색 및 16진수 색 코드가 나와 있습니다.

색 이름짧은 이름RGB 3색16진수 색 코드모양
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"해당 없음해당 없음해당 없음색 없음

다음은 MATLAB®이 여러 유형의 플롯에서 사용하는 디폴트 색의 RGB 3색과 16진수 색 코드입니다.

RGB 3색16진수 색 코드모양
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

창 스타일로, 다음 중 하나로 지정됩니다.

  • 'normal' — Figure 창은 다른 창에 독립적이며, Figure가 표시되는 동안 다른 창에 액세스할 수 있습니다.

  • 'modal' — Figure는 기존의 모든 Figure 창 위에 normal 창 스타일로 표시되어, 맨 앞 Figure가 모달 상태로 존재하는 한 기존 Figure에 액세스할 수 없게 됩니다. 그러나 모달 Figure 이후에 새로 생성된 Figure는 모두 표시됩니다.

    여러 모달 창이 있는 경우 가장 최근에 생성된 창에 포커스가 유지되며, 이 가장 최근에 생성된 창은 숨겨지도록 설정되거나 일반 창 스타일로 돌아가거나 삭제될 때까지 다른 모든 창 위에 계속 남아 있습니다. 창이 사라지거나 WindowStyle normal로 돌아가거나 삭제되면 포커스는 마지막으로 포커스가 있던 창으로 복귀됩니다.

  • 'alwaysontop' — Figure는 모달 Figure 창과 MATLAB이 아닌 애플리케이션의 창을 포함하여 다른 모든 창 위에 표시됩니다. 다른 창에는 계속 액세스할 수 있습니다.

참고

다음은 WindowStyle 속성의 몇 가지 중요한 특성과 권장되는 모범 사례입니다.

  • UI 창을 만들 때는 항상 WindowStyle 속성을 지정하십시오. 또한 Figure의 Resize 또는 Position 속성을 설정하려는 경우에는 먼저 WindowStyle 속성을 설정하십시오.

  • Figure의 WindowStyle 속성은 Figure가 표시되도록 설정되거나 Figure에 자식이 포함된 경우 등 언제든지 사용자가 변경할 수 있습니다. 그러나 일부 시스템에서는 이 속성을 설정하면 시스템의 일반 창과 모달 창 구현 방식에 따라 Figure가 깜박이거나 사라졌다가 다시 나타날 수 있습니다. 최적의 시각적 결과를 얻으려면 생성 시에 또는 Figure가 표시되지 않을 때 WindowStyle 속성을 설정하십시오.

UI Figure 모달 창 스타일 동작

WindowStyle'modal'로 설정된 경우, 이 UI Figure 창은 자신보다 앞서 만들어졌으며 Visible 속성이 'on'으로 설정된 UI Figure 창의 키보드 및 마우스 상호 작용을 차단합니다. 예를 들어, 이 예제에서 Figure 3은 Figure 2에 대해 모달이고 Figure 2는 Figure 1에 대해 모달입니다.

fig1 = uifigure('Name','Figure 1');
fig1.WindowStyle = 'modal';

fig2 = uifigure('Name','Figure 2');
fig2.WindowStyle = 'modal';

fig3 = uifigure('Name','Figure 3');
fig3.WindowStyle = 'modal';
Figure 계층 구조에서 모달 Figure와 일반 Figure가 함께 있는 경우에는 이 모달리티 계층 구조가 보존되지 않습니다.

figure 함수로 만든 모달 Figure와 달리, uifigure 함수로 만든 모달 Figure는 figure 함수나 MATLAB 데스크탑으로 만든 Figure에 대한 액세스를 차단하지 않습니다. MATLAB을 제외한 애플리케이션 창과의 상호 작용도 차단되지 않습니다.

모달 Figure에 포커스가 있는 상태에서 Ctrl+C를 입력하면 해당 Figure는 'normal' WindowStyle 속성 설정으로 되돌아갑니다. 따라서 사용자가 명령줄에 입력할 수 있습니다.

WindowStyle 속성이 'modal'로 설정되고 Visible 속성이 'off'로 설정된 UI Figure는 MATLAB에서 표시 가능해질 때까지 모달 형식으로 동작하지 않습니다. 따라서 모달 창을 삭제하는 대신 나중에 재사용할 수 있도록 숨겨둘 수 있습니다.

모달 Figure는 메뉴의 자식, 내장 메뉴 또는 도구 모음을 표시하지 않습니다. 그러나 모달 Figure에서 메뉴를 만들거나 메뉴의 자식이 있는 Figure에서 WindowStyle 속성 설정을 'modal'로 변경하는 것은 오류가 아닙니다. 이유는, Menu 객체가 존재하고 있으며 Figure가 이를 유지하기 때문입니다. UI Figure의 WindowStyle 속성을 'normal'로 재설정하면 메뉴가 표시됩니다.

창 상태로, 다음 값 중 하나로 지정됩니다.

  • 'normal' — 창이 보통 상태로 표시됩니다.

  • 'minimized' — 창이 축소되어 있으나, 창에서 계속 명령을 실행하여 속성을 가져오거나 설정하고, 자식을 추가하거나, 플롯을 만들 수 있습니다.

  • 'maximized' — 창이 화면 전체를 채웁니다. 운영 체제에서 제공되는 최소화, 복원, 닫기 버튼은 창의 코너에 표시됩니다. 창의 메뉴가 보통 상태에서 제공될 경우, 이러한 버튼도 보통 상태에서 표시됩니다.

  • 'fullscreen' — 창이 화면 전체를 채웁니다. 그러나 운영 체제에서 제공되는 최소화, 복원, 닫기 버튼은 숨겨집니다. 창의 메뉴가 보통 상태에서 제공될 경우, 이러한 버튼도 보통 상태에서 표시됩니다.

운영 체제에서 제공되는 최소화, 최대화 또는 복원 버튼을 클릭하면 WindowState 속성이 그에 따라 설정됩니다. Ctrl+F11(Windows® 및 Linux®) 또는 Ctrl+Command+F(macOS)를 누르면 'fullscreen' 상태가 전환됩니다. 도킹된 Figure에서 또는 MATLAB Online™에서 이 속성을 설정하는 것은 지원되지 않습니다.

UI Figure는 전체 화면 상태에서 직접 최소화할 수 없습니다.

위치와 크기

모두 확장

테두리와 제목 표시줄을 제외한 UI Figure의 위치와 크기로, [left bottom width height] 형식의, 요소를 4개 가진 벡터로 지정됩니다.

다음 표에서는 벡터의 각 요소를 설명합니다.

요소설명
left주 디스플레이 창의 왼쪽 가장자리부터 UI Figure 창의 왼쪽 내부 가장자리까지의 거리. 둘 이상의 모니터를 사용하는 시스템에서는 이 값이 음수일 수 있습니다.
bottom주 디스플레이의 하단 가장자리부터 UI Figure 창의 내부 하단 가장자리까지의 거리. 둘 이상의 모니터를 사용하는 시스템에서는 이 값이 음수일 수 있습니다.
widthUI Figure의 오른쪽과 왼쪽 내부 가장자리 사이의 거리.
heightUI Figure의 상단과 하단 내부 가장자리 사이의 거리.

측정 단위로, 다음 표의 값 중 하나로 지정됩니다.

단위 값설명
'pixels'(디폴트 값)

픽셀.

Windows와 Macintosh 시스템에서 거리(단위: 픽셀)는 시스템 해상도와 관계가 없습니다. 즉, 다음과 같습니다.

  • Windows 시스템에서 1픽셀은 1/96인치입니다.

  • Macintosh 시스템에서 1픽셀은 1/72인치입니다.

Linux 시스템에서 픽셀 크기는 시스템 해상도에 의해 결정됩니다.

'normalized'이 단위는 부모 컨테이너에 대해 정규화됩니다. 컨테이너의 왼쪽 아래 코너는 (0,0)에 매핑되고 오른쪽 위 코너는 (1,1)에 매핑됩니다.
'inches'인치.
'centimeters'센티미터.
'points'포인트. 1포인트는 1/72인치와 같습니다(1인치 = 2.54cm).
'characters'

이 단위는 다음과 같이 그래픽스 root 객체의 디폴트 uicontrol 글꼴을 기반으로 합니다.

  • 문자 너비 = 문자 x의 너비.

  • 문자 높이 = 텍스트의 두 줄의 기준선 간 거리.

디폴트 uicontrol 글꼴에 액세스하려면 get(groot,'defaultuicontrolFontName')이나 set(groot,'defaultuicontrolFontName')을 사용하십시오.

MATLAB은 모든 단위를 부모 객체의 왼쪽 아래 코너부터 측정합니다.

대부분의 MATLAB 앱 작성 기능은 거리를 픽셀 단위로 측정하므로, 권장되는 값은 'pixels'입니다.

참고

앱 디자이너는 픽셀 단위만 지원합니다. 앱 디자이너에서 부모 컨테이너를 기준으로 크기가 조정된 컨테이너를 만들려면 그리드 레이아웃 관리자를 사용하거나 자동 재배치 기능이 있는 앱을 만드십시오. 자세한 내용은 앱 디자이너에서 크기 조정 가능한 앱 관리하기 항목을 참조하십시오.

이 속성은 Position 속성에 영향을 미칩니다. Units 속성을 변경하는 경우, 디폴트 값을 상정하는 다른 함수에 영향을 미치지 않도록 계산을 완료한 후에 이 속성값을 디폴트 값으로 복원하는 것이 좋습니다.

Units 속성과 Position 속성을 지정하는 순서에 따라 다음과 같이 영향을 미칩니다.

  • Position 속성보다 먼저 Units를 지정하면 MATLAB은 지정한 단위를 사용하여 Position을 설정합니다.

  • Position 속성 다음에 Units 속성을 지정하면 MATLAB은 디폴트 Units를 사용하여 위치를 설정합니다. 그런 다음 MATLAB은 Position 값을 지정한 단위의 상응하는 값으로 변환합니다.

테두리와 제목 표시줄을 제외한 UI Figure의 위치와 크기로, [left bottom width height] 형식의, 요소를 4개 가진 벡터로 지정됩니다. 모든 측정값은 Units 속성으로 지정된 단위로 표시됩니다.

이 속성값은 Position 속성값과 동일합니다.

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

이 속성을 'on'으로 설정하면 UI Figure의 크기를 조정할 수 있습니다. 그러지 않으면 Figure는 크기를 조정할 수 없습니다.

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

  • 'on' — 컨테이너 크기가 조정되면 자식 컴포넌트의 크기가 자동으로 조정됩니다.

  • 'off' — 자식 컴포넌트의 크기가 조정되지 않습니다.

AutoResizeChildren 속성은 중첩 컨테이너 내의 자식이 아니라 컨테이너의 직속 자식에 영향을 미칩니다.

AutoResizeChildren'on'이면 일부 자식 컴포넌트의 크기가 자동으로 조정되지 않습니다. 예를 들어, 크기가 조정되지 않는 컴포넌트만 포함하는 레이블, 버튼, 컨테이너는 크기가 조정되지 않습니다.

크기 조정 동작을 사용자 지정하려면 컨테이너에 그리드 레이아웃 관리자를 추가하거나 AutoResizeChildren 속성을 'off'로 설정하고 컨테이너에 대한 SizeChangedFcn 콜백을 만드십시오. 자세한 내용은 앱 디자이너에서 크기 조정 가능한 앱 관리하기 항목을 참조하십시오.

앱 크기 조정을 비활성화하려면 Figure의 Resize 속성을 'off'로 설정하십시오.

픽셀 단위를 사용하여 배치된 앱에서만 AutoResizeChildren'on'으로 지정하는 것이 좋습니다. 픽셀이 아닌 단위를 사용하여 배치된 앱에서 자동 크기 조정을 활성화하면 예기치 않은 동작이 발생할 수 있습니다.

플로팅

모두 확장

UIAxes 내용에 대한 컬러맵으로, m개의 개별 색을 정의하는 RGB(빨간색, 녹색, 파란색) 3색의 m×3 배열로 지정됩니다.

예: uifigure('Colormap',[1 0 1; 0 0 1; 1 1 0])은 컬러맵을 세 가지 색, 즉 자홍색, 파란색, 노란색으로 설정합니다.

MATLAB은 행 번호를 사용하여 이러한 색에 액세스합니다.

좌표축 내용의 투명도 맵으로, 01(구간의 끝점 포함) 사이의 값으로 구성된 벡터로 지정됩니다. 벡터의 크기는 m×1이나 1×m일 수 있습니다. MATLAB은 벡터 내 알파 값에 대응하는 인덱스를 통해 알파 값에 액세스합니다. Alphamap은 임의의 길이일 수 있습니다.

마우스 포인터

모두 확장

포인터 기호로, 다음 표에 나와 있는 값 중 하나 또는 'custom'으로 지정됩니다. 기호의 모양은 운영 체제에 따라 달라집니다.

결과로 표시되는 기호(시스템에 따라 다름)

'arrow'

Arrow mouse pointer symbol

'ibeam'

I-beam mouse pointer symbol

'crosshair'

Crosshair mouse pointer symbol

'watch'(작업 수행 중인 시스템)

Busy system mouse pointer symbol

'topl' 또는 'botr'

Bidirectional arrow mouse pointer symbol that points to the top left and to the bottom right

'topr' 또는 'botl'

Bidirectional arrow mouse pointer symbol that points to the top right and to the bottom left

'circle'

Circle mouse pointer symbol

'cross'

Cross mouse pointer symbol

'fleur'

Mouse pointer symbol with four arrows pointing up, right, down, and left

'left' 또는 'right'

Bidirectional arrow mouse pointer symbol that points to the left and right

'top' 또는 'bottom'

Bidirectional arrow mouse pointer symbol that points up and down

'hand'

Hand mouse pointer symbol

사용자 지정 포인터 기호

사용자 지정 포인터 기호를 만들려면 프로그래밍 방식으로 Pointer 속성을 'custom'으로 설정하고 PointerShapeCData 속성을 사용하여 기호를 정의하십시오. 자세한 내용은 PointerShapeCData 속성을 참조하십시오.

제한 사항

uihtml 함수로 만든 HTML UI 컴포넌트 위에는 Pointer 속성으로 지정된 포인터 기호가 표시되지 않습니다.

사용자 지정 포인터 기호로, 16×16 행렬(16×16 픽셀 포인터의 경우) 또는 32×32 행렬(32×32 픽셀 포인터의 경우)로 지정됩니다. Pointer 속성을 'custom'으로 설정할 경우 Figure는 이 포인터 기호를 사용합니다.

행렬의 각 요소는 포인터의 한 픽셀에 대한 밝기 수준을 정의합니다. 여기서 요소는 다음의 값 중 하나를 가질 수 있습니다.

  • 1 — 검은색 픽셀.

  • 2 — 흰색 픽셀.

  • NaN — 밑의 화면이 비쳐 보이는 투명 픽셀.

행렬의 요소 (1,1)은 포인터의 왼쪽 위 코너에 있는 픽셀에 해당합니다.

포인터의 활성 픽셀로, 요소를 2개 가진 벡터로 지정됩니다. 이 벡터는 원하는 활성 픽셀에 해당하는, PointerShapeCData 행렬의 특정 요소에 대한 행 인덱스와 열 인덱스를 포함합니다. 디폴트 값인 [1 1]은 포인터의 왼쪽 위 코너에 있는 픽셀에 해당합니다.

PointerShapeCData 행렬의 범위를 벗어난 값을 지정할 경우 포인터는 [1 1]의 디폴트 활성 픽셀을 대신 사용합니다.

이 속성은 Pointer 속성이 'custom'으로 설정된 경우에만 적용됩니다.

상호 작용

모두 확장

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

  • 'on' — 객체를 표시합니다.

  • 'off' — 객체를 삭제하지 않고 숨깁니다. 보이지 않는 UI 컴포넌트의 속성에 계속 액세스할 수 있습니다.

앱을 더 빨리 시작하려면 시작 시 나타날 필요가 없는 모든 컴포넌트에 대해 Visible 속성을 'off'로 설정하십시오.

보이지 않는 컨테이너의 크기를 변경하면 컨테이너가 표시될 때 SizeChangedFcn 콜백이 트리거됩니다.

컨테이너의 Visible 속성을 변경해도 자식 컴포넌트의 Visible 속성값은 변경되지 않습니다. 컨테이너를 숨겨서 자식 컴포넌트가 숨겨진 경우에도 마찬가지입니다.

현재 UI Figure의 대상 좌표축으로, UIAxes 객체, Axes 객체, PolarAxes 객체 또는 HeatmapChart와 같은 그래픽스 객체로 지정됩니다.

axes 자식이 존재하는 모든 UI Figure에는 항상 현재 좌표축이 있습니다. 현재 좌표축은 제일 부모에 있는 axes가 아닐 수도 있으며, 좌표축을 현재 좌표축으로 설정하더라도 현재 좌표축이 다른 모든 좌표축의 부모로 바뀌는 건 아닙니다. UI Figure에 좌표축이 없으면 get(gcf,'CurrentAxes') 명령은 빈 배열을 반환합니다.

axes 객체가 없는 경우 강제로 생성하지 않고 CurrentAxes 속성을 쿼리하여 현재 axes 객체를 가져오십시오.

현재 객체로, UI Figure의 자식 객체로 반환됩니다. MATLAB은 CurrentObject 속성을 UI Figure에서 마지막으로 클릭된 객체로 설정합니다.

HandleVisibility 속성이 'off'로 설정된 객체를 클릭하면 CurrentObject 속성이 빈 GraphicsPlaceholder 배열로 설정됩니다.

현재 점으로, 요소를 2개 가진 벡터로 반환됩니다. 이 벡터는 UI Figure의 좌측 하단 코너에서부터 측정한 마우스 포인터의 (x, y) 좌표를 포함합니다. 모든 값은 Units 속성으로 지정된 단위로 표시됩니다. UI Figure가 스크롤 가능하면 스크롤 가능 영역의 왼쪽 아래 코너를 기준으로 좌표가 측정됩니다. 스크롤 가능 영역은 스크롤 막대의 제한에 의해 경계가 지정된 영역입니다.

다음 중 하나를 수행하면 좌표가 업데이트됩니다.

  • UI Figure 안에서 마우스 버튼을 누릅니다.

  • UI Figure 안에서 마우스 버튼을 누른 뒤에 마우스 버튼을 놓습니다.

  • UI Figure 안에서 마우스 버튼을 누른 뒤에 UI Figure 밖에서 마우스 버튼을 놓습니다.

  • UI Figure 안에서 스크롤 휠을 회전합니다.

  • WindowButtonMotionFcn 속성이 비어 있지 않은 경우에만 Figure 안에서 (버튼을 누르지 않은 채로) 마우스를 움직입니다.

UI Figure에 마우스 조작에 반응하는 콜백이 있고 시스템이 코드를 실행하는 데 걸리는 시간보다 빠르게 사용자가 콜백을 트리거하면 좌표값이 포인터의 실제 위치를 반영하지 않을 수 있습니다. 대신, 콜백이 실행을 시작했을 때의 위치를 반영할 수 있습니다.

CurrentPoint 속성을 사용하여 점을 플로팅하는 경우 좌표값에 반올림 오차가 포함될 수 있습니다.

현재 문자로, 마지막으로 누른 키의 문자로 반환됩니다. 이 속성은 UI Figure에 포커스가 있을 때 사용자가 키를 누르는 동안 업데이트됩니다.

마우스 선택 유형으로, 'normal', 'extend', 'alt' 또는 'open'으로 반환됩니다. 이 속성은 UI Figure에서 마지막으로 발생한 마우스 버튼 눌림에 대한 정보를 제공합니다.

다음 표에서는 가능한 SelectionType 값과 이러한 값을 만드는 사용자 동작을 보여줍니다.

대응하는 동작

'normal'

마우스 왼쪽 버튼을 클릭합니다.

'extend'

다음 동작 중 하나입니다.

  • Shift 키를 클릭한 상태에서 마우스 왼쪽 버튼을 클릭합니다.

  • 마우스 가운데 버튼을 클릭합니다.

  • 마우스 왼쪽 버튼과 마우스 오른쪽 버튼을 모두 클릭합니다.

'alt'

다음 중 하나:

  • Control 키를 클릭한 상태에서 마우스 왼쪽 버튼을 클릭합니다.

  • 마우스 오른쪽 버튼을 클릭합니다.

'open'

마우스 버튼을 더블 클릭합니다.

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

이 속성을 'on'으로 설정하면 컨테이너 내에서 스크롤할 수 있습니다. 그러나 추가 요구 사항이 있습니다.

  • 컨테이너의 자식 컴포넌트는 컨테이너가 한 번에 표시할 수 있는 것보다 더 큰 영역을 차지해야 합니다.

  • 컨테이너에 맞지 않는 컴포넌트는 컨테이너의 위쪽 또는 오른쪽에 있어야 합니다. 컨테이너의 아래쪽 또는 왼쪽에 있는 컴포넌트로 스크롤할 수 없습니다.

  • 컨테이너에 그리드 레이아웃 관리자가 포함된 경우 컨테이너의 Scrollable 속성은 아무런 영향을 미치지 않습니다. 스크롤을 활성화하려면 대신 GridLayout 객체의 Scrollable 속성을 'on'으로 설정하십시오.

특정 유형의 차트 및 좌표축은 스크롤 가능한 컨테이너를 지원하지 않습니다. 그러나 이러한 차트나 좌표축을 스크롤할 수 없는 패널에 배치한 다음 그 패널을 스크롤 가능한 컨테이너에 배치할 수 있습니다. 자세한 내용은 앱 디자이너에서 그래픽스 표시하기 항목을 참조하십시오.

상황별 메뉴로, uicontextmenu 함수로 만든 ContextMenu 객체로 지정됩니다. UI Figure를 오른쪽 버튼으로 클릭할 때 상황별 메뉴를 표시하려면 이 속성을 사용하십시오.

일반 콜백

모두 확장

버튼 누름 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 콜백은 사용자가 UI Figure의 빈 영역을 클릭할 때 실행됩니다.

콜백 속성값을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.

SelectionType 속성을 사용하여 사용자가 보조키를 눌렀는지 확인합니다.

객체 생성 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

콜백을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 항목을 참조하십시오.

이 속성은 MATLAB이 객체를 생성할 때 실행할 콜백 함수를 지정합니다. MATLAB은 CreateFcn 콜백을 실행하기 전에 모든 속성값을 초기화합니다. CreateFcn 속성을 지정하지 않으면 MATLAB은 디폴트 생성 함수를 실행합니다.

기존 컴포넌트에 대해서는 CreateFcn 속성을 설정해도 아무 효과가 없습니다.

이 속성을 함수 핸들 또는 셀형 배열로 지정하면 생성 중인 객체에 콜백 함수의 첫 번째 인수를 사용하여 액세스할 수 있습니다. 이 속성을 함수 핸들 또는 셀형 배열로 지정하지 않은 경우에는 gcbo 함수를 사용하여 객체에 액세스하십시오.

객체 삭제 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

콜백을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 항목을 참조하십시오.

이 속성은 MATLAB에서 객체를 삭제할 때 실행할 콜백 함수를 지정합니다. MATLAB은 객체의 속성을 파괴하기 전에 DeleteFcn 콜백을 실행합니다. DeleteFcn 속성을 지정하지 않으면 MATLAB은 디폴트 삭제 함수를 실행합니다.

이 속성을 함수 핸들 또는 셀형 배열로 지정하면 삭제 중인 객체에 콜백 함수의 첫 번째 인수를 사용하여 액세스할 수 있습니다. 이 속성을 함수 핸들 또는 셀형 배열로 지정하지 않은 경우에는 gcbo 함수를 사용하여 객체에 액세스하십시오.

키보드 콜백

모두 확장

키 누름 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 콜백 함수는 UI Figure 또는 자식 컴포넌트에 포커스가 있는 동안 사용자가 키를 누르면 실행됩니다. 키보드 포커스를 허용하는 컴포넌트(예: 편집 필드)에서 키를 누르면 해당 컴포넌트가 비활성화되어 있는 경우에만 콜백이 실행됩니다. Enable 또는 Editable 속성을 'off'로 설정하여 컴포넌트를 비활성화할 수 있습니다. 또한 Enable 속성을 'inactive'로 설정하면 Table 컴포넌트를 회색으로 표시하지 않고도 비활성화할 수 있습니다.

사용자가 거의 동시에 여러 개의 키를 누를 경우 MATLAB은 모든 키를 감지합니다.

KeyPressFcn 콜백은 사용자와 키보드의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 KeyData 객체에 전달합니다. 다음 표에는 KeyData 객체 속성이 나열되어 있습니다.

속성설명

예제:

  

a

=

Shift

Shift-a

Character

키 누름의 결과로 표시되는 문자.

특정 키를 단독으로 누르면(예: Ctrl, Alt, Shift) Character 데이터가 생성되지 않습니다.

'a''=''''A'
Modifier

눌린 보조키(예: 'control', 'alt', 'shift')의 이름을 포함하는 셀형 배열. 눌린 보조키가 없으면 이 셀형 배열은 비어 있습니다.

{1x0 cell}{1x0 cell}{'shift'}{'shift'}
Key

눌린 키로, 키 또는 설명 단어(예: 'pageup')의 소문자 레이블(예: 'space')로 식별됩니다.

'a''equal''shift''a'
Source키가 눌릴 때 포커스가 있는 객체.Figure 객체Figure 객체Figure 객체Figure 객체
EventName콜백 함수가 실행되도록 만든 동작.'KeyPress''KeyPress''KeyPress''KeyPress'

콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.

CurrentCharacter 속성은 문자 정보도 반환합니다.

키 해제 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 콜백 함수는 UI Figure 또는 자식 컴포넌트에 포커스가 있는 동안 사용자가 키를 눌린 상태에서 해제하면 실행됩니다. 키보드 포커스가 있는 컴포넌트(예: 편집 필드)에서 키를 놓으면 해당 컴포넌트가 비활성화되어 있는 경우에만 콜백이 실행됩니다. Enable 또는 Editable 속성을 'off'로 설정하여 컴포넌트를 비활성화할 수 있습니다. 또한 Enable 속성을 'inactive'로 설정하면 Table 컴포넌트를 회색으로 표시하지 않고도 비활성화할 수 있습니다.

이 콜백 함수는 사용자와 키보드의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 KeyData 객체에 전달합니다. 다음 표에는 KeyData 객체 속성이 나열되어 있습니다.

속성설명

예제:

  

a

=

Shift

Shift-a

Character

눌린 상태에서 해제되는 키에 대응하는 문자.

특정 키를 단독으로 누르거나 눌린 상태에서 해제하면(예: Ctrl, Alt, Shift) Character 데이터가 생성되지 않습니다.

'a''=''''A'
Modifier

눌린 보조키(예: 'control', 'alt', 'shift')의 이름을 포함하는 셀형 배열. 눌린 상태에서 해제되는 보조키가 없으면 이 셀형 배열은 비어 있습니다.

{1x0 cell}{1x0 cell}{'shift'}{'shift'}
Key

해제된 키로, 키 또는 설명 단어(예: 'pageup')의 소문자 레이블(예: 'space')로 식별됩니다.

'a''equal''shift''a'
Source키가 눌린 상태에서 해제될 때 포커스가 있는 객체.Figure 객체Figure 객체Figure 객체Figure 객체
EventName콜백 함수가 실행되도록 만든 동작.'KeyRelease''KeyRelease''KeyRelease''KeyRelease'

콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.

창 콜백

모두 확장

닫기 요청 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

콜백 속성값을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 콜백 함수 지정하기 항목을 참조하십시오.

MATLAB은 앱 사용자가 앱을 닫으려고 할 때 이 콜백을 실행합니다. 예를 들어, 콜백을 코딩하여 앱 사용자에게 닫기 작업을 확인하거나 취소하도록 요청하는 대화 상자를 표시할 수 있습니다.

CloseRequestFcn 콜백의 디폴트 값 'closereq'는 Figure를 무조건 삭제하고 창을 제거합니다.

CloseRequestFcn 콜백에서 Figure를 닫으려면 delete 함수를 호출하십시오.

  • 앱 디자이너에서의 delete(app)을 호출합니다.

  • 프로그래밍 방식으로 작성한 앱의 경우 delete(f)를 호출합니다. 여기서 fFigure 객체입니다.

CloseRequestFcn 콜백에 delete 명령이 포함되어 있지 않으면 MATLAB은 창을 닫지 않습니다. 언제든지 delete 함수를 호출하여 창을 닫을 수 있습니다.

예제: 대화 상자를 표시하도록 CloseRequestFcn 코딩하기

이 예제에서는 닫기 작업에 대한 확인을 묻는 확인 대화 상자를 표시하도록 닫기 요청 함수를 코딩하는 방법을 보여줍니다. 코드를 시스템의 쓰기 가능한 폴더에 저장합니다.

function myCloseReq(src,event)
selection = uiconfirm(src,'Close this figure?',...
    'Confirm Close'); 
switch selection 
    case 'OK'
        delete(src)
    case 'Cancel'
        return 
end
end

이제 Figure를 생성하고 CloseRequestFcn에 대해 myCloseReq를 지정합니다. 함수 핸들이 명시적으로 어떤 입력 인수도 참조하지 않지만 함수 선언에 2개의 입력 인수가 포함된 것을 알 수 있습니다. MATLAB은 콜백을 실행할 때 이 인수를 자동으로 전달합니다. 첫 번째 인수는 콜백을 트리거한 UI 컴포넌트이고 두 번째 인수는 콜백 함수에 이벤트 데이터를 제공합니다.

uifigure('CloseRequestFcn',@myCloseReq);

Figure 창을 닫으면 확인 대화 상자가 표시됩니다.

크기 변경 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 컨테이너의 크기가 변경될 때(예: 사용자가 창 크기를 조정할 때) 앱 레이아웃을 사용자 지정하려면 이 콜백을 정의하십시오. 그 안에 자식 컴포넌트의 Position 속성을 조정하는 코드를 작성하십시오.

참고

이 컨테이너의 AutoResizeChildren 속성이 'off'로 설정되어 있는 경우에만 SizeChangedFcn 콜백이 실행됩니다. 앱 디자이너에서 컨테이너를 선택하고 컴포넌트 브라우저의 컴포넌트 탭에서 AutoResizeChildren 체크박스를 선택 해제하여 SizeChangedFcn을 실행 가능하게 만들 수 있습니다.

SizeChangedFcn 콜백은 다음의 경우에 실행됩니다.

  • 이 컨테이너가 처음으로 표시되는 경우.

  • 크기를 변경하는 동안 이 컨테이너가 표시되는 경우.

  • 크기 변경 후 이 컨테이너가 처음으로 표시되는 경우. 이런 상황은 컨테이너가 표시되지 않는 동안 크기가 변경되고 그런 다음 이 객체가 나중에 표시될 때 발생합니다.

SizeChangedFcn 콜백을 정의할 때 고려해야 할 기타 중요 사항은 다음과 같습니다.

  • SizeChangedFcn을 사용하는 모든 변수가 정의될 때까지 이 컨테이너가 표시되는 것을 지연하는 것이 좋습니다. 이렇게 하면 SizeChangedFcn 콜백에서 오류가 반환되는 것을 방지할 수 있습니다. 컨테이너가 표시되는 것을 지연하려면 해당 Visible 속성을 'off'로 설정하십시오. 그런 다음, SizeChangedFcn 콜백이 사용하는 변수를 정의한 후에 Visible 속성을 'on'으로 설정하십시오.

  • 앱에 중첩된 컨테이너가 포함되어 있는 경우 해당 컨테이너는 안에서 밖으로 크기 조정됩니다.

  • SizeChangedFcn 내에서 크기 조정되는 컨테이너에 액세스하려면 소스 객체(콜백의 첫 번째 입력 인수)를 참조하거나 gcbo 함수를 사용하십시오.

크기 조정 동작을 지정하는 또다른 방법은 GridLayout 객체를 만들거나 앱 디자이너에서 자동 재배치 옵션을 사용하는 것입니다. 이들 옵션을 사용하는 것이 SizeChangedFcn 콜백보다 더 쉬울 수 있습니다. 그러나 이들 옵션과 비교할 때 SizeChangedFcn 콜백이 가진 이점이 있습니다. 예를 들면 다음과 같은 경우입니다.

  • 사용자가 정의한 최소 또는 최대 크기까지 컴포넌트 크기를 조정합니다.

  • 부모 컨테이너의 크기를 기준으로 컴포넌트의 크기를 변경하는 것과 같은 비선형 크기 조정 동작을 구현합니다.

창 버튼 누름 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 콜백은 사용자가 다음 항목을 클릭할 때 실행됩니다.

  • UI Figure의 빈 영역

  • UI Figure 내에 있는 UI 컴포넌트

  • UI Figure 내에 있는, ButtonDownFcn 속성을 지원하는 그래픽스 객체

예를 들어, axes 객체를 클릭하면 WindowButtonDownFcn 콜백이 트리거됩니다.

사용자가 UITable 컴포넌트를 클릭하면, Enable 속성이 'off' 또는 'inactive'로 설정된 경우에만 콜백이 실행됩니다.

그래픽스 객체가 ButtonDownFcn 속성을 지원하는지 확인하려면 해당 그래픽스 객체의 속성 목록을 참조하십시오. 그래픽스 객체의 속성은 그래픽스 객체 속성 항목을 참조하십시오.

참고

uiaxes 컴포넌트가 ButtonDownFcn 속성을 지원하지 않더라도 사용자가 uiaxes 컴포넌트를 클릭하면 콜백이 실행됩니다.

콜백 속성값을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.

창 버튼 동작 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

일반적으로 이 콜백 함수는 사용자가 UI Figure 안에서 포인터를 이동할 때마다 실행됩니다. 그러나 사용자가 마우스 버튼을 클릭하여 누른 채 UI Figure 밖으로 포인터를 이동하면, WindowButtonMotionFcn 콜백은 포인터가 UI Figure 밖에 있는 동안에 호출됩니다.

콜백 속성값을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.

창 버튼 놓음 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 콜백은 사용자가 다음 동작을 수행할 때 실행됩니다.

  • UI Figure의 빈 영역에서 마우스 버튼을 놓을 때

  • UI Figure의 UI 컴포넌트에서 마우스 버튼을 놓을 때

  • UI Figure 내에 있는, ButtonDownFcn 속성을 지원하는 그래픽스 객체에서 마우스 버튼을 놓을 때

예를 들어, axes 객체에서 마우스 버튼을 놓으면 WindowButtonUpFcn 콜백이 트리거됩니다.

사용자가 UITable 컴포넌트에서 마우스 버튼을 놓으면, Enable 속성이 'off' 또는 'inactive'로 설정된 경우에만 콜백이 실행됩니다.

그래픽스 객체가 ButtonDownFcn 속성을 지원하는지 확인하려면 해당 그래픽스 객체의 속성 목록을 참조하십시오. 그래픽스 객체의 속성은 그래픽스 객체 속성 항목을 참조하십시오.

버튼 놓음 동작은 UI Figure의 버튼 누름 동작과 연결됩니다. 버튼 누름 동작이 발생할 때는 마우스 포인터가 UI Figure 안에 있어야 하지만, 버튼 놓음 동작이 발생할 때는 Figure 밖에 있어도 됩니다.

참고

uiaxes 컴포넌트가 ButtonDownFcn 속성을 지원하지 않더라도 사용자가 uiaxes 컴포넌트에서 마우스 버튼을 놓으면 콜백이 실행됩니다.

콜백 속성값을 함수 핸들, 셀형 배열 또는 문자형 벡터로 지정하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.

창 키 누름 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 콜백 함수는 UI Figure 또는 자식 컴포넌트에 포커스가 있는 동안 사용자가 키를 누르면 실행됩니다. 사용자가 거의 동시에 여러 개의 키를 누를 경우 MATLAB은 모든 키를 감지합니다.

이 콜백 함수는 사용자와 키보드의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 KeyData 객체에 전달합니다. 다음 표에는 KeyData 객체 속성이 나열되어 있습니다.

속성설명

예제:

  

a

=

Shift

Shift-a

Character

키 누름의 결과로 표시되는 문자.

특정 키를 단독으로 누르면(예: Ctrl, Alt, Shift) Character 데이터가 생성되지 않습니다.

'a''=''''A'
Modifier

눌린 보조키(예: 'control', 'alt', 'shift')의 이름을 포함하는 셀형 배열. 눌린 보조키가 없으면 이 셀형 배열은 비어 있습니다.

{1x0 cell}{1x0 cell}{'shift'}{'shift'}
Key

눌린 키로, 키 또는 설명 단어(예: 'pageup')의 소문자 레이블(예: 'space')로 식별됩니다.

'a''equal''shift''a'
Source키가 눌릴 때 포커스가 있는 객체.Figure 객체Figure 객체Figure 객체Figure 객체
EventName콜백 함수가 실행되도록 만든 동작.'WindowKeyPress''WindowKeyPress''WindowKeyPress''WindowKeyPress'

콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.

CurrentCharacter 속성은 문자 정보도 반환합니다.

창 키 해제 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 콜백 함수는 UI Figure 또는 자식 컴포넌트에 포커스가 있는 동안 사용자가 키를 눌린 상태에서 해제하면 실행됩니다.

이 콜백 함수는 사용자와 키보드의 상호 작용에 대한 특정 정보에 액세스할 수 있습니다. MATLAB은 이 정보를 콜백 함수에 대한 두 번째 인수로서 KeyData 객체에 전달합니다. 다음 표에는 KeyData 객체 속성이 나열되어 있습니다.

속성설명

예제:

  

a

=

Shift

Shift-a

Character

눌린 상태에서 해제되는 키에 대응하는 문자.

특정 키를 단독으로 누르거나 눌린 상태에서 해제하면(예: Ctrl, Alt, Shift) Character 데이터가 생성되지 않습니다.

'a''=''''A'
Modifier

눌린 보조키(예: 'control', 'alt', 'shift')의 이름을 포함하는 셀형 배열. 눌린 상태에서 해제되는 보조키가 없으면 이 셀형 배열은 비어 있습니다.

{1x0 cell}{1x0 cell}{'shift'}{'shift'}
Key

해제된 키로, 키 또는 설명 단어(예: 'pageup')의 소문자 레이블(예: 'space')로 식별됩니다.

'a''equal''shift''a'
Source키가 눌린 상태에서 해제될 때 포커스가 있는 객체.Figure 객체Figure 객체Figure 객체Figure 객체
EventName콜백 함수가 실행되도록 만든 동작.'WindowKeyRelease''WindowKeyRelease''WindowKeyRelease''WindowKeyRelease'

콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.

창 스크롤 휠 콜백으로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 콜백은 UI Figure 또는 자식에 포커스가 있는 동안 사용자가 스크롤 휠을 움직일 때 실행됩니다. 단, 다른 객체가 스크롤 휠의 움직임을 캡처하여 이 콜백의 실행을 방해할 수 있습니다.

이 콜백은 CurrentObjectSelectionType 속성에는 영향을 미치지 않습니다.

이 콜백은 사용자가 스크롤 휠을 회전할 때 특정 정보에 액세스할 수 있습니다. MATLAB은 ScrollWheelData 객체의 이 정보를 콜백 함수에 대한 두 번째 인수로 전달합니다. 다음 표에는 ScrollWheelData 객체 속성이 나열되어 있습니다.

속성

내용

VerticalScrollCount

스크롤 휠 클릭의 방향과 횟수를 나타내는 양수 또는 음수. 아래로 스크롤하면 양수 값이 반환됩니다. 위로 스크롤하면 음수 값이 반환됩니다.

수직 스크롤 횟수는 콜백이 마지막으로 실행된 이후 발생한 모든 스크롤 휠 클릭의 합입니다. 일반적으로 이 값은 1 또는 -1입니다. WindowScrollWheelFcn 콜백이 반환되는 데 시간이 오래 걸리거나 사용자가 스크롤 휠을 매우 빠르게 돌리면 스크롤 횟수는 매우 큰 값이 될 수 있습니다.

VerticalScrollAmount

상수 값 3.

Source

콜백을 실행하는 객체.

EventName'WindowScrollWheel'.

콜백 속성값을 지정하고 콜백 인수를 사용하는 방법에 대한 자세한 내용은 앱 디자이너에서 콜백 사용하기 또는 프로그래밍 방식으로 만든 앱에 대한 콜백 만들기 항목을 참조하십시오.

예제: x축 제한을 변경하는 앱

이 예제에서는 플롯을 표시하는 앱을 만드는 방법을 보여줍니다. 사용자는 스크롤 휠로 스크롤하여 x축의 제한을 변경할 수 있습니다. 다음 코드를 복사하여 편집기에 붙여넣고 실행합니다.

function scroll_wheel
% Shows how to use WindowScrollWheelFcn property
%
   f = uifigure('WindowScrollWheelFcn',@figScroll,'Name','Scroll Wheel Demo');
   x = 0:.1:40;
   y = 4.*cos(x)./(x+2);
   a = axes(f); 
   h = plot(a,x,y);
   title(a,'Rotate the scroll wheel')

   function figScroll(~,event)
      if event.VerticalScrollCount > 0 
         xd = h.XData;
         inc = xd(end)/20;
         x = [0:.1:xd(end)+inc];
         re_eval(x)
      elseif event.VerticalScrollCount < 0 
         xd = h.XData;
         inc = xd(end)/20;
         % Don't let xd = 0
         x = [0:.1:xd(end)-inc+.1]; 
         re_eval(x)
      end
   end

   function re_eval(x)
      y = 4.*cos(x)./(x+2);
      h.YData = y;
      h.XData = x;
      a.XLim = [0 x(end)];
      drawnow
   end
end

figScroll에 대한 함수 핸들이 명시적으로 어떤 입력 인수도 참조하지 않지만 함수 선언에 2개의 입력 인수가 포함된 것을 알 수 있습니다. MATLAB은 콜백을 실행할 때 이 인수를 자동으로 전달합니다. 첫 번째 인수는 콜백을 트리거한 UI 컴포넌트이고 두 번째 인수는 콜백 함수에 이벤트 데이터를 제공합니다.

콜백 실행 컨트롤

모두 확장

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

이 속성은 실행중 콜백을 중단할 수 있는지 여부를 지정합니다. 고려할 콜백 상태에는 다음 두 가지가 있습니다.

  • 실행중 콜백은 현재 실행되고 있는 콜백입니다.

  • 인터럽트 콜백은 실행중 콜백을 중단하고 자신이 실행되려는 콜백입니다.

MATLAB은 콜백 대기열을 처리하는 명령을 실행할 때마다 콜백 중단 동작을 결정합니다. 이러한 명령에는 drawnow, figure, uifigure, getframe, waitfor, pause가 포함됩니다.

실행중 콜백에 이러한 명령이 포함되어 있지 않으면 중단이 발생하지 않습니다. MATLAB은 먼저 실행중 콜백의 실행을 완료한 다음 인터럽트 콜백을 실행합니다.

실행중 콜백에 이러한 명령이 포함되어 있으면 실행중 콜백을 소유한 객체의 Interruptible 속성에서 중단을 발생시킬지 여부를 결정합니다.

  • Interruptible 값이 'off'이면 중단이 발생하지 않습니다. 대신 인터럽트 콜백을 소유한 객체의 BusyAction 속성이 인터럽트 콜백을 삭제할지 아니면 콜백 대기열에 추가할지 결정합니다.

  • Interruptible 값이 'on'이면 중단이 발생합니다. MATLAB이 다음번 콜백 대기열을 처리할 때 실행중 콜백의 실행을 중지하고 인터럽트 콜백을 실행합니다. 인터럽트 콜백이 완료된 후에는 MATLAB이 실행 중인 콜백의 실행을 재개합니다.

참고

콜백 중단과 실행은 다음 상황에서 다르게 동작합니다.

  • 인터럽트 콜백이 DeleteFcn, CloseRequestFcn, SizeChangedFcn 콜백 중 하나이면 Interruptible 속성값에 관계없이 중단이 발생합니다.

  • 실행중 콜백이 현재 waitfor 함수를 실행 중이면 Interruptible 속성값에 관계없이 중단이 발생합니다.

  • 인터럽트 콜백을 Timer 객체가 소유한 경우 콜백은 Interruptible 속성값에 관계없이 예약된 대로 실행됩니다.

참고

중단이 발생하면 MATLAB은 디스플레이 또는 속성의 상태를 저장하지 않습니다. 예를 들어, 다른 콜백이 실행될 때 gca 또는 gcf 명령이 반환하는 객체가 변경될 수도 있습니다.

콜백 대기로, 'queue''cancel'로 지정됩니다. BusyAction 속성은 MATLAB이 인터럽트 콜백의 실행을 처리하는 방법을 지정합니다. 고려할 콜백 상태에는 다음 두 가지가 있습니다.

  • 실행중 콜백은 현재 실행되고 있는 콜백입니다.

  • 인터럽트 콜백은 실행중 콜백을 중단하고 자신이 실행되려는 콜백입니다.

BusyAction 속성은 다음 조건이 모두 충족될 때만 콜백 대기 동작을 결정합니다.

  • 실행중 콜백에 콜백 대기열을 처리하는 drawnow, figure, uifigure, getframe, waitfor 또는 pause 같은 명령이 포함되어 있습니다.

  • 실행중 콜백을 소유하는 객체의 Interruptible 속성값이 'off'입니다.

이러한 조건에서는 인터럽트 콜백을 소유하는 객체의 BusyAction 속성값이 MATLAB에서 인터럽트 콜백을 처리하는 방식을 결정합니다. BusyAction 속성의 가능한 값은 다음과 같습니다.

  • 'queue' — 실행중 콜백이 실행을 마치고 나면 인터럽트 콜백이 처리되도록 대기열에 넣습니다.

  • 'cancel' — 인터럽트 콜백을 실행하지 않습니다.

읽기 전용 속성입니다.

삭제 상태로, matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 반환됩니다.

MATLAB은 DeleteFcn 콜백이 실행을 시작할 때 BeingDeleted 속성을 'on'으로 설정합니다. BeingDeleted 속성은 컴포넌트 객체가 더 이상 존재하지 않을 때까지 'on'으로 설정되어 유지됩니다.

객체를 쿼리하거나 수정하기 전에 BeingDeleted 속성의 값을 확인하여 이 객체가 곧 삭제될 것이 아님을 확인합니다.

부모/자식

모두 확장

읽기 전용 속성입니다.

부모 객체로, root 객체로 반환됩니다.

Figure 객체의 자식으로, 빈 GraphicsPlaceholder 또는 컴포넌트 객체의 1차원 배열로 반환됩니다. 자식은 또 다른 Figure 객체만 제외하고 어떤 컴포넌트든 될 수 있습니다.

Children 속성을 사용해서는 자식 컴포넌트를 추가하거나 제거할 수 없습니다. 자식의 목록을 보거나 자식을 재정렬하려면 이 속성을 사용하십시오. 이 배열에서 자식의 순서는 화면에서의 컴포넌트의 쌓임 순서(앞-뒤)를 반영합니다.

이 목록에 자식을 추가하려면 자식 컴포넌트의 Parent 속성을 Figure 객체로 설정하십시오.

객체 핸들의 가시성으로, 'off', 'callback', 'on' 중 하나로 지정됩니다. 이 속성은 그 부모의 자식 목록에서 Figure 객체의 가시성에 대한 정보를 제공합니다. Figure 객체가 현재 Figure(gcf)가 될 수 없도록 하고 함수들이 원치 않는 UI 변경을 할 수 없도록 디폴트 값이 'off'로 설정됩니다.

다음 표에서는 각 값을 설정하는 효과에 대해 설명합니다.

HandleVisibility 값설명
'off'

콜백 함수 또는 명령 창에서 실행되는 함수에서 Figure 객체 핸들이 표시되지 않습니다. 또한 이 객체 핸들은 다음과 같은 특징을 갖습니다.

  • 그래픽스 루트 Children 또는 CurrentFigure 속성이 반환한 목록에는 표시되지 않습니다.

  • 객체 계층을 검색하거나 객체 속성을 쿼리하여 객체에 액세스하는 함수에 의해 반환되지 않습니다. 이러한 함수로는 gcf, gco, get, findobj, clf, close가 있습니다.

이 옵션은 콜백 함수 및 명령줄에서 호출된 함수가 객체를 대상으로 지정하고 의도하지 않은 UI 변경을 하지 못하도록 합니다.

'callback'

콜백 내에서 또는 콜백이 호출한 함수 내에서만 Figure 객체 핸들이 표시되며 명령 창에서 호출한 함수 내에서는 표시되지 않습니다. 또한 그래픽스 루트 Children 또는 CurrentFigure 속성에서 반환한 목록에는 객체 핸들이 표시되지 않습니다.

이 옵션은 명령줄에서 객체에 액세스하는 것은 차단하지만, 콜백 함수가 이 객체에 액세스하는 것은 허용합니다.

'on'

Figure 객체 핸들은 항상 표시됩니다.

객체의 HandleVisibility 속성이 'off'로 설정되어 있어도 해당 객체는 유효합니다. 객체에 대한 액세스 권한이 있으면 해당 속성을 설정하여 가져온 후 객체에 대해 작동하는 함수로 전달할 수 있습니다.

식별자

모두 확장

Figure의 이름으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

예: uifigure('Name','Results')는 Figure의 이름을 'Results'로 설정합니다.

앱 디자이너에서 Name 속성의 디폴트 값은 'MATLAB App'입니다.

아이콘 소스 또는 파일로, 문자형 벡터, string형 스칼라 또는 m×n×3 트루컬러 이미지 배열로 지정됩니다. 파일 이름을 지정할 경우 MATLAB 경로 또는 이미지 파일의 전체 경로에 있는 이미지 파일 이름일 수 있습니다. 앱을 다른 사용자와 공유하려면 원활한 앱 패키징을 위해 이미지 파일을 MATLAB 경로에 두십시오.

지원되는 이미지 형식에는 JPEG, PNG, GIF, m×n×3 트루컬러 이미지 배열이 있습니다. 트루컬러 이미지 배열에 대한 자세한 내용은 이미지 유형 항목을 참조하십시오. 애니메이션 GIF 파일은 첫 번째 프레임만 표시합니다.

아이콘을 전체 크기로 완전히 표시할 충분한 공간이 부족한 경우 MATLAB은 공간에 맞게 이미지의 크기를 줄입니다.

예: 'icon.png'는 MATLAB 경로에 있는 아이콘 파일을 지정합니다.

예: 'C:\Documents\icon.png'는 이미지 파일의 전체 경로를 지정합니다.

예: fig = uifigure('Icon','peppers.png')는 지정된 아이콘 이미지 파일을 사용하여 UI Figure를 만듭니다.

읽기 전용 속성입니다.

Figure의 번호로, 정수 또는 빈 배열로 반환됩니다.

IntegerHandle 속성을 'off'로 지정하면 Number 속성은 빈 값이 됩니다.

IntegerHandle'on'인 경우 Number 속성은 정수입니다. Figure를 삭제하면 MATLAB은 이 숫자를 다음 Figure에 재사용합니다.

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

이 속성을 'on'으로 설정할 경우 UI Figure의 제목에 'Figure n'이라는 구가 포함됩니다. 여기서 n은 번호입니다.

제목에 번호를 표시하려면 NumberTitleIntegerHandle 속성을 모두 'on'으로 설정해야 합니다.

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

IntegerHandle 속성을 'on'으로 설정할 경우 MATLAB은 기존 Figure가 사용하지 않는 가장 낮은 정수 값을 찾아 Number 속성을 이 값으로 설정합니다. UI Figure를 삭제할 경우 MATLAB은 새 Figure에서 이 번호를 재사용할 수 있습니다.

IntegerHandle 속성을 'off'로 설정하면 MATLAB은 UI Figure에 정수 값을 할당하지 않고 Number 속성을 빈 배열로 설정합니다.

제목 표시줄에 번호를 표시하려면 IntegerHandleNumberTitle을 모두 'on'으로 설정해야 합니다.

읽기 전용 속성입니다.

그래픽스 객체의 유형으로, 'figure'로 반환됩니다.

객체 식별자로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 객체의 식별자로 사용할 고유 Tag 값을 지정할 수 있습니다. 코드의 다른 곳에서 객체에 액세스해야 할 경우 findobj 함수를 사용하여 Tag 값을 기반으로 객체를 검색할 수 있습니다.

사용자 데이터로, 임의의 MATLAB 배열로 지정됩니다. 예를 들어, 스칼라, 벡터, 행렬, 셀형 배열, 문자형 배열, table형 또는 구조체형으로 지정할 수 있습니다. 이 속성을 사용하여 객체에 임의의 데이터를 저장할 수 있습니다.

앱 디자이너에서 작업하는 경우 앱에서 데이터를 공유할 수 있도록 UserData 속성을 사용하는 대신 퍼블릭 또는 프라이빗 속성을 생성하십시오. 자세한 내용은 앱 디자이너로 만든 앱 내부에서 데이터 공유하기 항목을 참조하십시오.

버전 내역

R2016a에 개발됨

모두 확장

참고 항목

| |

도움말 항목