Main Content

UIControl 속성

사용자 인터페이스 컨트롤의 모양과 동작 제어

사용자 인터페이스 컨트롤은 사용자가 상호 작용할 수 있는 버튼 및 슬라이더와 같은 컴포넌트입니다. uicontrol 함수는 사용자 인터페이스 컨트롤을 만들고 필수 속성을 설정한 후 사용자 인터페이스 컨트롤을 표시합니다. 속성값을 변경하여, 사용자 인터페이스 컨트롤의 모양과 동작을 수정할 수 있습니다. 다음과 같이 점 표기법을 사용하여 특정 객체와 속성을 참조하십시오.

참고

앱 디자이너 또는 uifigure 함수를 사용하여 만든 앱에서는 UIControl 객체 생성이 지원되지 않습니다. 이러한 컨텍스트에서 대신 사용 가능한 컴포넌트 목록은 앱 작성 구성요소 항목을 참조하십시오.

예를 들어, 이 코드는 버튼을 만들고 UIControl 객체를 b로 저장한 다음 점 표기법을 사용하여 Position 속성을 설정합니다.

f = figure;
b = uicontrol(f,'Style','pushbutton');
b.Position = [100 100 50 20];

컨트롤 유형

모두 확장

UIControl의 스타일로, 다음 표의 값으로 지정됩니다.

Style 값설명
'pushbutton'마우스 버튼을 놓을 때까지 눌린 상태로 표시되는 버튼.
'togglebutton'상태가 두 가지(놓음 또는 누름)인 버튼. 토글 버튼을 클릭할 때마다 버튼 상태가 변경됩니다.
'checkbox'상태가 두 가지(선택함 또는 선택하지 않음)인 체크박스. 체크박스 위에서 마우스 버튼을 클릭했다 놓으면 상태가 변경됩니다.
'radiobutton'상태가 두 가지(선택함 또는 선택 취소함)인 버튼. 라디오 버튼은 관련된 라디오 버튼 그룹 내에서 상호 배타적이 되도록 고안되었습니다.
'edit'편집 가능한 텍스트 필드.
'text'정적 텍스트 필드.
'slider'사용자가 가로 막대 또는 세로 막대를 따라 누를 수 있는 버튼. 버튼 위치는 지정된 범위 내의 값을 나타냅니다.
'listbox'사용자가 하나 이상의 항목을 선택할 수 있는 항목 목록. 팝업 메뉴와 달리 목록 상자는 클릭해도 확장되지 않습니다.
'popupmenu'클릭하면 확장되어 선택 항목 목록이 표시되는 독립적인 메뉴. 메뉴를 축소하면 현재 선택 항목이 표시됩니다.

현재 값으로, 숫자로 지정됩니다. Value 속성은 특정 uicontrol의 상태를 쿼리하거나 수정할 때 유용합니다.

uicontrol의 스타일Value 속성에 대한 설명
'togglebutton'
  • 놓음: Value 속성은 Min 속성값과 같습니다.

  • 누름: Value 속성은 Max 속성값과 같습니다.

'checkbox'
  • 선택하지 않음: Value 속성이 Min 속성값으로 변경됩니다.

  • 선택함: Value 속성이 Max 속성값으로 변경됩니다.

'radiobutton'
  • 선택 취소함: Value 속성이 Min 속성값으로 변경됩니다.

  • 선택함: Value 속성이 Max 속성값으로 변경됩니다.

'slider'Value 속성은 이에 해당하는 슬라이더 값과 같습니다.
'listbox'Value 속성은 목록 상자에서 선택한 항목에 해당하는 배열 인덱스와 같습니다. 값 1은 목록의 첫 번째 항목에 해당합니다.
'popupmenu'Value 속성은 팝업 메뉴에서 선택한 항목에 해당하는 배열 인덱스와 같습니다. 값 1은 팝업 메뉴의 첫 번째 항목에 해당합니다.

최댓값으로, 숫자로 지정됩니다. Max 속성은 특정 uicontrol이 보여지는 모습에 영향을 줍니다.

uicontrol의 스타일Value 속성에 대한 설명
'togglebutton'토글 버튼을 누르면 Value 속성이 Max 속성값으로 변경됩니다.
'checkbox'체크박스를 선택하면 Value 속성이 Max 속성값으로 변경됩니다.
'radiobutton'라디오 버튼을 선택하면 Value 속성이 Max 속성값으로 변경됩니다.
'edit'

MaxMin > 1이면 편집가능 텍스트 상자에 여러 라인의 입력값을 지정할 수 있습니다. 그렇지 않으면 단일 라인의 입력값을 지정할 수 있습니다.

MaxMin의 절댓값은 사용 가능한 라인 수에 영향을 주지 않습니다. 두 값의 차이가 1보다 크기만 하면 편집 텍스트 상자에 들어갈 라인의 수에는 제한이 없습니다.

'slider'Max 속성값은 최대 슬라이더 값으로, Min 속성값보다 커야 합니다.
'listbox'Max 속성값은 사용자가 목록 상자에서 여러 항목을 동시에 선택할 수 있는지 여부를 결정하는 데 도움이 됩니다. MaxMin > 1이면 사용자는 여러 항목을 동시에 선택할 수 있습니다. 그렇지 않으면 여러 항목을 동시에 선택할 수 없습니다. 여러 항목 선택을 허용하도록 Max 속성과 Min 속성을 설정하면 Value 속성값은 인덱스로 구성된 벡터가 될 수 있습니다.

최솟값으로, 숫자로 지정됩니다. Min 속성은 특정 uicontrol이 보여지는 모습에 영향을 줍니다.

uicontrol의 스타일Value 속성에 대한 설명
'togglebutton'토글 버튼을 놓으면 Value 속성이 Min 속성값으로 변경됩니다.
'checkbox'체크박스를 선택하지 않으면 Value 속성이 Min 속성값으로 변경됩니다.
'radiobutton'라디오 버튼 선택을 취소하면 Value 속성이 Min 속성값으로 변경됩니다.
'edit'

MaxMin > 1이면 편집가능 텍스트 상자에 여러 라인의 입력값을 지정할 수 있습니다. 그렇지 않으면 단일 라인의 입력값을 지정할 수 있습니다.

MaxMin의 절댓값은 사용 가능한 라인 수에 영향을 주지 않습니다. 두 값의 차이가 1보다 크기만 하면 편집 텍스트 상자에 들어갈 라인의 수에는 제한이 없습니다.

'slider'Min 속성값은 최소 슬라이더 값으로, Max 속성값보다 작아야 합니다.
'listbox'Max 속성값은 사용자가 목록 상자에서 여러 항목을 동시에 선택할 수 있는지 여부를 결정하는 데 도움이 됩니다. MaxMin > 1이면 사용자는 여러 항목을 동시에 선택할 수 있습니다. 그렇지 않으면 여러 항목을 동시에 선택할 수 없습니다. 여러 항목 선택을 허용하도록 Max 속성과 Min 속성을 설정하면 Value 속성값은 인덱스로 구성된 벡터가 될 수 있습니다.

슬라이더 스텝 크기로, 배열 [minorstep majorstep]으로 지정됩니다. 이 속성은 사용자가 화살표 버튼이나 슬라이더 레일(슬라이더 채널)을 클릭했을 때 슬라이더 값의 변동 크기를 제어합니다.

  • minorstep은 사용자가 화살표 버튼을 클릭했을 때 슬라이더 범위에서 Value 속성이 증가 또는 감소하는 비율입니다.

  • majorstep은 사용자가 슬라이더 레일을 클릭했을 때 슬라이더 범위에서 Value 속성이 증가 또는 감소하는 비율입니다.

majorstep 값이 1보다 큰 경우, 슬라이더 비율은 100%보다 크지 않습니다.

minorstepmajorstep은 모두 1e-6보다 커야 하며, minorstepmajorstep보다 작거나 같아야 합니다.

majorstep이 증가하면 슬라이더 핸들이 길어집니다. majorstep1과 같으면 핸들은 레일 길이의 1/2입니다. majorstep 값이 1보다 크면 핸들이 더 길어집니다.

예제

이 슬라이더의 범위는 MaxMin = 1입니다. 사용자가 화살표 버튼을 누르면 슬라이더 Value 속성은 1%씩 변경됩니다. 레일을 클릭하면 10%씩 변경됩니다.

s = uicontrol('Style','Slider','Min',0,'Max',1,'SliderStep',[0.01 0.10]);

목록 상자의 최상위 항목 인덱스로, 정수 값으로 지정됩니다. 이 속성은 UIControl의 listbox 스타일에만 적용됩니다. 목록 항목을 모두 표시할 수 있을 만큼 크지 않은 목록 상자의 맨 위에 어떤 항목을 표시할 것인지를 지정하는 속성입니다. ListboxTop 값은 String 속성값으로 지정하는 배열에 대한 인덱스입니다. ListboxTop 값의 범위는 1과 배열의 요소 개수 사이여야 합니다. 정수가 아닌 값은 다음으로 가장 낮은 정수로 수정됩니다.

참고

String 속성과 Value 속성은 지정한 ListboxTop 값에 상관없이 ListboxTop 속성값을 재정의할 수 있습니다. ListboxTop 값은 다른 UIControl 속성값에 따라 변경될 수 있습니다. 예를 들어, Value 속성을 명시적으로 설정하면 목록은 해당 값으로 스크롤됩니다.

가장 신뢰할 수 있는 결과를 얻으려면 MATLAB®이 화면에서 사용자 인터페이스 컨트롤 그리기를 마친 후에 ListboxTop 속성을 쿼리하거나 수정하십시오.

텍스트와 스타일 지정

모두 확장

표시할 텍스트로, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열, string형 배열, categorical형 배열 또는 세로줄로 구분된 행 벡터로 지정됩니다. Style 속성에 따라 사용할 수 있는 배열 형식이 달라집니다.

스타일 속성지원되는 배열 형식예제
'pushbutton'

문자형 벡터


문자형 벡터로 구성된 셀형 배열


string형 배열


categorical형 배열

'Option 1'


{'Option 1'}


"Option 1"


categorical({'Option 1'})

'togglebutton'
'checkbox'
'radiobutton'
'edit'
'text'
'listbox'

문자형 벡터


문자형 벡터로 구성된 셀형 배열


string형 배열


categorical형 배열


세로줄로 구분된 행 벡터

'One'


{'One','Two','Three'}


["One" "Two" "Three"]


categorical({'one','two','three'})


'One|Two|Three'

'popupmenu'

참고

누름 버튼, 토글 버튼, 체크박스 또는 라디오 버튼에 대해 셀형 배열 또는 categorical형 배열을 지정하면 MATLAB은 배열의 첫 번째 요소만 표시합니다.

텍스트 색으로, 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

다음은 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

참고

목록 상자에 대하여 ForegroundColor 값을 변경하면 MATLAB은 현재 선택된 목록 상자 항목을 제외하고 모든 목록 상자 항목에 해당 색을 사용합니다. 선택된 항목에 대하여 MATLAB은 선택된 항목의 텍스트와 선택 색 사이의 양호한 대비를 제공하는 색을 사용합니다.

예: [0 0 1]

예: 'b'

예: 'blue'

데이터형: double | char

배경색으로, 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

다음은 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

선택적 아이콘으로, 트루컬러 RGB 값으로 구성된 3차원 배열로 지정됩니다. 배열의 값은 다음이 될 수 있습니다.

  • 0.01.0 사이의 배정밀도 값

  • 0255 사이의 uint8

누름 버튼과 토글 버튼은 CData를 완전히 지원하는 유일한 UIControl 객체입니다. 라디오 버튼 또는 체크박스에 CData 속성을 지정하면 이미지가 텍스트와 겹쳐질 수 있습니다. 라디오 버튼 또는 체크박스에 이미지를 지정하면 선택 또는 선택 취소 여부가 표시되지 않게 됩니다.

데이터형: double | uint8

글꼴

모두 확장

글꼴 이름으로, 시스템에서 지원하는 글꼴 이름이나 'FixedWidth'로 지정됩니다. 디폴트 글꼴은 운영 체제와 로캘에 따라 다릅니다.

모든 로캘에서 미려하게 표시되는 고정 너비 글꼴을 사용하려면 'FixedWidth'를 사용하십시오. 실제로 사용되는 고정 너비 글꼴은 root 객체의 FixedWidthFontName 속성에 따라 달라집니다. FixedWidthFontName 속성을 변경하면 새 글꼴을 사용하도록 디스플레이가 즉시 업데이트됩니다.

예: 'Arial'

글꼴 크기로, 양수로 지정됩니다. FontUnits 속성은 단위를 지정합니다. 디폴트 크기는 시스템에 따라 다릅니다.

예: 12

예: 12.5

글꼴 두께로, 다음 표의 값으로 지정됩니다.

  • 'normal' — 보통 글꼴. 글꼴별로 정의된 디폴트 두께

  • 'bold' — 굵은 글꼴. 보통 글꼴 두께보다 더 두꺼운 문자 윤곽선

MATLAB은 FontWeight 속성을 사용하여 사용자의 시스템에서 사용 가능한 글꼴 중 하나를 선택합니다. 모든 글꼴에 굵은 글꼴 두께가 있는 것은 아닙니다. 따라서 굵은 글꼴 두께를 지정해도 여전히 보통 글꼴 두께로 보일 수 있습니다.

참고

R2014b에서 'light''demi' 글꼴 두께 값은 제거되었습니다. 두 값 중 하나를 지정하면 보통 글꼴 두께로 표시됩니다.

글꼴 각도로, 'normal' 또는 'italic'으로 지정됩니다. MATLAB은 이 속성을 사용하여 시스템에서 사용 가능한 글꼴 중에서 하나를 선택합니다. 이 속성을 'italic'으로 설정하면 기울어진 글꼴이 선택됩니다(시스템에서 사용 가능한 경우).

참고

'oblique' 값은 제거되었습니다. 'italic'을 대신 사용하십시오.

글꼴 단위로, 다음 표에 있는 값 중 하나로 지정됩니다.

단위 값설명
'points'포인트. 1포인트는 1/72인치입니다(1인치 = 2.54cm).
'normalized'글꼴 크기를 높이에 대한 비율로 지정하는 정규화된 값. UI 컴포넌트의 크기를 조정할 때 MATLAB은 표시된 글꼴을 그 비율 그대로 유지하도록 조정합니다.
'inches'인치.
'centimeters'센티미터.
'pixels'

픽셀.

R2015b부터, 픽셀 단위의 거리는 Windows®Macintosh 시스템에서 시스템 해상도와 무관하게 적용됩니다. 즉, 다음과 같습니다.

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

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

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

상호 작용

모두 확장

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

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

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

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

사용자 인터페이스 컨트롤의 작동 상태로, 'on', 'off' 또는 'inactive'로 지정됩니다. Enable 속성은 사용자 인터페이스 컨트롤이 사용자 상호 작용에 반응하는지 여부를 제어합니다. 가능한 값은 다음과 같습니다.

  • 'on' – 사용자 인터페이스 컨트롤이 작동됩니다.

  • 'off' – 사용자 인터페이스 컨트롤이 작동되지 않고 회색으로 나타납니다.

  • 'inactive' – 사용자 인터페이스 컨트롤은 작동하지 않지만, Enable'on'으로 설정되었을 때와 같은 모양으로 표시됩니다.

툴팁으로, 문자형 벡터, string형 스칼라 또는 categorical형 배열로 지정됩니다. 사용자가 런타임에 컴포넌트 위에 포인터를 올려놓을 때 메시지가 표시되도록 하려면 이 속성을 사용합니다. 컴포넌트가 비활성화된 경우에는 툴팁이 표시되지 않습니다. 이 속성을 categorical형 배열로 지정할 경우 MATLAB은 전체 범주 집합이 아닌 배열에 있는 값을 사용합니다.

여러 라인의 텍스트를 만들려면 sprintf 함수를 사용하여 텍스트에 새 줄 문자('\n')를 삽입하십시오. 예를 들면 다음과 같습니다.

txt = sprintf('Line 1\nLine 2');

그런 다음 Tooltip 속성을 sprintf에서 반환된 값으로 설정합니다.

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

툴팁으로, 문자형 벡터, string형 스칼라 또는 categorical형 배열로 지정됩니다. 앱에서 컴포넌트 위에 커서를 올리면 툴팁이 나타납니다. 이 속성을 categorical형 배열로 지정할 경우 MATLAB은 전체 범주 집합이 아닌 배열에 있는 값을 사용합니다.

참고

R2018b부터는 TooltipString 속성이 권장되지 않습니다. Tooltip 속성을 대신 사용하십시오.

참고

Selected 속성의 동작은 R2014b에서 변경되었으며, 권장되지 않습니다. 이 속성은 더 이상 이 유형의 객체에 아무런 영향을 미치지 않습니다. 이 속성은 향후 릴리스에서 제거될 수도 있습니다.

참고

SelectionHighlight 속성의 동작은 R2014b에서 변경되었으며, 권장되지 않습니다. 이 속성은 더 이상 이 유형의 객체에 아무런 영향을 미치지 않습니다. 이 속성은 향후 릴리스에서 제거될 수도 있습니다.

위치

모두 확장

위치와 크기로, [left bottom width height] 형식의, 요소를 4개 가진 벡터로 지정됩니다. 다음 표에서는 벡터의 각 요소를 설명합니다.

요소설명
left부모 컨테이너의 왼쪽 내부 가장자리와 사용자 인터페이스 컨트롤의 왼쪽 외부 가장자리 사이의 거리
bottom부모 컨테이너의 내부 하단 가장자리와 사용자 인터페이스 컨트롤의 외부 하단 가장자리 사이의 거리
width사용자 인터페이스 컨트롤의 오른쪽과 왼쪽 외부 가장자리 사이의 거리
height사용자 인터페이스 컨트롤의 상단과 하단 외부 가장자리 사이의 거리

모든 측정값은 Units 속성으로 지정된 단위로 표시됩니다.

참고

Position 값은 부모 컨테이너의 그리기 가능 영역을 기준으로 합니다. 그리기 가능 영역은 컨테이너의 경계 내부 영역이며 제목이 차지하는 영역은 포함되지 않습니다. 부모 컨테이너가 Figure인 경우 메뉴 모음과 도구 모음도 그리기 가능 영역에서 제외됩니다.

위치 벡터의 값 하나 수정하기

Position 벡터의 값 하나를 변경하려는 경우 점 표기법과 배열 인덱싱을 조합할 수 있습니다. 예를 들어, 다음 코드는 사용자 인터페이스 컨트롤의 너비를 52로 변경합니다.

b = uicontrol;
b.Position(3) = 52;
b.Position
ans =

    20    20    52    20

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

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

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

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

읽기 전용 속성입니다.

바깥쪽 사각형의 크기로, 요소를 4개 가진 행 벡터로 반환됩니다. 벡터의 처음 2개 요소는 항상 0입니다. 세 번째 요소와 네 번째 요소는 각각 사각형의 너비와 높이입니다. 모든 측정값은 Units 속성으로 지정된 단위로 표시됩니다.

MATLAB은 String 속성값의 크기와 글꼴 특성을 기반으로 하여 사각형 크기를 확인합니다. String 값의 크기를 수용할 수 있도록 너비와 높이를 조정하려면 Position의 너비 값과 높이 값을 Extent의 너비 값과 높이 값보다 약간 크게 설정하십시오.

단일 라인 텍스트로 되어 있는 String 값의 경우, Extent 속성의 높이 요소는 단일 라인의 높이를 나타냅니다. 너비 요소는 텍스트가 컨트롤에 표시될 때 줄 바꿈 여부에 상관없이 가장 긴 라인의 너비를 나타냅니다. 여러 라인 텍스트의 경우에 Extent 사각형은 모든 텍스트 라인을 포함합니다. MaxMin1보다 크면 편집 가능한 텍스트 필드는 여러 라인인 것으로 간주됩니다.

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

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

픽셀.

R2015b부터, 픽셀 단위의 거리는 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은 모든 단위를 부모 객체의 왼쪽 아래 코너부터 측정합니다.

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

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

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

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

uicontrol 텍스트의 맞춤으로, 'center', 'left' 또는 'right'로 지정됩니다. 이 속성은 String 속성 텍스트의 양쪽 맞춤을 결정합니다.

HorizontalAlignment 속성은 uicontrol의 'text' 스타일과 'edit' 스타일에만 영향을 줍니다.

콜백

모두 확장

주 콜백 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

이 함수는 사용자가 누름 버튼을 클릭하거나, 슬라이더를 이동하거나, 체크박스를 선택하는 등의 상호 작용을 하면 이에 응답하여 실행됩니다. UIControl 객체의 Enable 속성이 'on'으로 설정되어 있어야만 이 함수가 실행될 수 있습니다.

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

데이터형: function_handle | cell | char

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

  • 함수 핸들.

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

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

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

ButtonDownFcn 콜백은 사용자가 UI 컴포넌트를 마우스 버튼으로 클릭할 때 실행되는 함수입니다. 콜백은 다음과 같은 경우에 실행됩니다.

  • Enable 속성이 'on'으로 설정된 상태에서 사용자가 UI 컴포넌트를 마우스 오른쪽 버튼으로 클릭합니다.

  • Enable 속성이 'off' 또는 'inactive'로 설정된 상태에서 사용자가 UI 컴포넌트를 마우스 오른쪽 버튼이나 마우스 왼쪽 버튼으로 클릭합니다.

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

  • 함수 핸들.

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

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

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

이 콜백 함수는 UIControl 객체에 포커스가 있고 사용자가 키를 누를 때 실행됩니다. 이 속성에 대해 함수를 정의하지 않은 경우 MATLAB은 키 누름을 부모 Figure에 전달합니다. 키를 반복해서 누르면 UIControl 객체의 포커스가 유지되고, 키를 누를 때마다 함수가 실행됩니다. 사용자가 거의 동시에 여러 개의 키를 누를 경우 MATLAB은 마지막으로 누른 키에 대한 키 누름을 감지합니다.

이 속성을 함수 핸들(또는 함수 핸들을 포함하는 셀형 배열)로 지정할 경우 MATLAB은 콜백 데이터를 포함하는 객체를 콜백 함수에 대한 두 번째 인수로 전달합니다. 이 객체에는 다음 표에 설명된 속성이 포함되어 있습니다. 점 표기법을 사용하여 콜백 함수 내에서 이러한 속성에 액세스할 수 있습니다.

속성

설명

예제:

a

=

Shift

Shift-a

Character키 누름의 결과로 표시되는 문자. 문자는 비어 있거나 출력이 불가능할 수 있습니다.'a''=''''A'
Modifier눌려지는 하나 이상의 보조키(예: Ctrl, Alt, Shift)의 이름을 포함하는 셀형 배열.{1x0 cell}{1x0 cell}{'shift'}{'shift'}
Key눌려지는 키로, 키 또는 텍스트 설명에서 (소문자) 레이블로 식별됩니다.'a''equal''shift''a'
Source사용자가 키를 누를 때 포커스가 있는 객체.UIControl 객체UIControl 객체UIControl 객체UIControl 객체
EventName콜백 함수가 실행되도록 만든 동작.'KeyPress''KeyPress''KeyPress''KeyPress'

보조키를 누르면 다음과 같은 방식으로 콜백 데이터에 영향을 줍니다.

  • 보조키는 Character 속성에 영향을 줄 수 있지만 Key 속성을 변경하지는 않습니다.

  • 일부 키와 Ctrl 키로 보조되는 키는 출력할 수 없는 문자를 Character 속성에 넣습니다.

  • Ctrl, Alt, Shift 키와 여러 다른 키는 Character 속성 데이터를 생성하지 않습니다.

Figure의 CurrentCharacter 속성을 쿼리하여, 사용자가 누른 문자를 확인할 수도 있습니다.

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

  • 함수 핸들.

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

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

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

이 콜백 함수는 UIControl 객체에 포커스가 있고 사용자가 키를 눌렀다 놓을 때 실행됩니다.

이 속성을 함수 핸들(또는 함수 핸들을 포함하는 셀형 배열)로 지정할 경우 MATLAB은 콜백 데이터를 포함하는 객체를 콜백 함수에 대한 두 번째 인수로 전달합니다. 이 객체에는 다음 표에 설명된 속성이 포함되어 있습니다. 점 표기법을 사용하여 콜백 함수 내에서 이러한 속성에 액세스할 수 있습니다.

속성

설명

예제:

a

=

Shift

Shift-a

Character

눌렀다 놓은 키의 문자 해석 방식.

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

현재 보조키(예: 'control'), 또는 보조키가 없는 경우 빈 셀형 배열.

{1x0 cell}{1x0 cell}{1x0 cell}{1x0 cell}
Key

눌렀다 놓은 키의 이름으로, 키 또는 텍스트 설명에서 소문자 레이블로 식별됩니다.

'a''equal''shift''a'
Source사용자가 키를 누를 때 포커스가 있는 객체.UIControl 객체UIControl 객체UIControl 객체UIControl 객체
EventName콜백 함수가 실행되도록 만든 동작.'ase''ase''ase''ase'

보조키를 누르면 다음과 같은 방식으로 콜백 데이터에 영향을 줍니다.

  • 보조키는 Character 속성에 영향을 줄 수 있지만 Key 속성을 변경하지는 않습니다.

  • 일부 키와 Ctrl 키로 보조되는 키는 출력할 수 없는 문자를 Character 속성에 넣습니다.

  • Ctrl, Alt, Shift 키와 여러 다른 키는 Character 속성 데이터를 생성하지 않습니다.

Figure의 CurrentCharacter 속성을 쿼리하여, 사용자가 누른 문자를 확인할 수도 있습니다.

컴포넌트 생성 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

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

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

생성되는 컴포넌트 객체를 가져오려면 CreateFcn 코드에서 gcbo 함수를 사용하십시오.

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

컴포넌트 삭제 함수로, 다음 값 중 하나로 지정됩니다.

  • 함수 핸들.

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

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

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

DeleteFcn 속성은 MATLAB이 컴포넌트를 삭제할 때(예: 사용자가 창을 닫을 때) 실행할 콜백 함수를 지정합니다. MATLAB은 컴포넌트 객체의 속성을 삭제하기 전에 DeleteFcn 콜백을 실행합니다. DeleteFcn 속성을 지정하지 않으면 MATLAB은 디폴트 삭제 함수를 실행합니다.

삭제되는 컴포넌트 객체를 가져오려면 DeleteFcn 코드에서 gcbo 함수를 사용하십시오.

콜백 실행 컨트롤

모두 확장

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

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

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

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

MATLAB이 콜백을 불러올 때마다 불러들여진 콜백은 실행중 콜백(있는 경우)을 중단하려고 시도합니다. 실행중 콜백을 소유한 객체의 Interruptible 속성은 중단이 허용되는지 여부를 지정합니다.

  • 'on'을 지정하면 다른 콜백이 이 객체의 콜백을 중단할 수 있습니다. MATLAB이 대기열을 처리하는 다음 지점에서(예: drawnow, figure, getframe, waitfor, pause 명령 중 하나가 있을 때) 중단이 발생합니다.

    • 실행중 콜백에 이러한 명령 중 하나가 포함되어 있으면 MATLAB은 이 지점에서 콜백 실행을 중지하고 인터럽트 콜백을 실행합니다. 인터럽트 콜백이 완료되면 MATLAB은 실행중 콜백의 실행을 재개합니다.

    • 실행중 콜백에 이러한 명령 중 하나가 포함되어 있지 않으면 MATLAB은 중단 없이 콜백 실행을 마칩니다.

  • 'off'는 모든 중단 시도를 차단합니다. 인터럽트 콜백을 소유한 객체의 BusyAction 속성은 인터럽트 콜백을 삭제할지 아니면 대기열에 넣을지를 지정합니다.

참고

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

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

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

  • Timer 객체는 Interruptible 속성값에 관계없이 예약된 대로 실행됩니다.

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

Interruptible 속성과 BusyAction 속성이 어떻게 프로그램의 동작에 영향을 미치는지를 보여주는 예제를 보려면 콜백 실행 중단하기 항목을 참조하십시오.

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

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

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

인터럽트 콜백의 소스의 BusyAction 속성에 따라 MATLAB의 콜백 실행 처리 방법이 지정됩니다. BusyAction 속성은 다음과 같은 값을 갖습니다.

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

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

MATLAB이 콜백을 불러올 때마다 이 콜백은 항상 실행 중인 콜백을 중단하려고 시도합니다. 콜백이 실행 중인 객체의 Interruptible 속성에 따라 중단이 허용되는지 여부가 결정됩니다. Interruptible은 다음 중 하나로 설정됩니다.

  • on — MATLAB이 대기열을 처리하는 다음 지점에서 중단이 발생합니다. 이는 디폴트 값입니다.

  • off — 인터럽트 콜백을 소유한 객체의 BusyAction 속성에 따라 MATLAB이 인터럽트 콜백을 대기열에 넣을지 또는 무시할지가 결정됩니다.

BusyAction 속성과 Interruptible 속성이 어떻게 프로그램의 동작에 영향을 미치는지를 보여주는 예제를 보려면 콜백 실행 중단하기 항목을 참조하십시오.

읽기 전용 속성입니다.

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

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

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

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

  • 'on' — 사용자가 실행 중인 앱의 컴포넌트를 클릭하면 현재 객체를 UIControl로 설정합니다. FigureCurrentObject 속성과 gco 함수는 둘 다 UIControl을 현재 객체로 반환합니다.

  • 'off' — 사용자가 실행 중인 앱의 컴포넌트를 클릭하면 현재 객체를 HitTest'on'UIControl의 가장 가까운 선조로 설정합니다.

부모/자식

모두 확장

부모 객체로, Figure, Panel, ButtonGroup 또는 Tab 객체로 지정됩니다. 이 속성을 사용하여, UI 컴포넌트를 만들 때 부모 컨테이너를 지정하거나 기존 UI 컴포넌트를 다른 부모 컨테이너로 이동할 수 있습니다.

UIControl 자식으로, 빈 배열로 반환됩니다. UIControl 객체는 자식이 없습니다. 이 속성을 설정해도 아무런 영향을 미치지 않습니다.

UIControl 핸들의 가시성으로, 'on', 'callback' 또는 'off'로 지정됩니다.

이 속성은 그 부모의 자식 목록에서 UIControl 핸들의 가시성을 제어합니다. 핸들이 그 부모의 자식 목록에 표시되지 않는다면 객체 계층 구조를 검색하거나 핸들 속성을 쿼리하여 핸들을 가져오는 함수는 핸들을 반환하지 않습니다. 이러한 함수로는 get, findobj, gca, gcf, gco, newplot, cla, clf, close가 있습니다. HandleVisibility 속성은 부모 Figure의 CurrentObject 속성의 객체 핸들의 가시성도 제어합니다. 핸들은 표시되지 않아도 여전히 유효합니다. 객체 핸들을 알고 있으면 해당 속성을 설정하여 가져온 후 핸들에 대해 작동하는 함수로 전달할 수 있습니다.

HandleVisibility 값설명
'on'UIControl 핸들이 항상 표시됩니다.
'callback'명령줄에서 호출한 함수 내에서가 아니라, 콜백 내에서나 콜백이 호출한 함수 내에서 UIControl 핸들이 표시됩니다. 이 옵션은 명령줄에서 UIControl에 액세스하는 것은 차단하지만, 콜백 함수가 이 객체 핸들에 액세스하는 것은 허용합니다.
'off'UIControl 핸들이 항상 표시되지 않습니다. 이 옵션은 다른 함수에 의해 UI가 의도치 않게 변경되는 것을 방지하는 데 유용합니다. HandleVisibility'off'로 설정하여 해당 함수를 실행하는 동안 핸들을 일시적으로 숨길 수 있습니다.

핸들에 대한 HandleVisibility 값에 상관없이 모든 핸들을 표시하려면 그래픽스 root ShowHiddenHandles 속성을 'on'으로 설정하십시오. 이 설정은 객체의 HandleVisibility 값에 아무런 영향을 미치지 않습니다.

참고

버튼 그룹 외의 uibuttongroup이 관리하는 라디오 버튼과 토글 버튼에 액세스하지 마십시오. 실수로 액세스하는 일이 없도록 이러한 라디오 버튼과 토글 버튼의 HandleVisibility'off'로 설정하십시오.

식별자

모두 확장

읽기 전용 속성입니다.

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

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

사용자 데이터로, 임의의 배열로 지정됩니다. UserData를 지정하면 앱 내에서 데이터를 공유하는 데 유용할 수 있습니다. 자세한 내용은 콜백 간 데이터 공유하기 항목을 참조하십시오.

버전 내역

R2006a 이전에 개발됨

모두 확장