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

앱 디자이너에서 콜백 작성하기

참고

GUIDE의 콜백에 대한 자세한 내용은 GUIDE에서 콜백 작성하기 항목을 참조하십시오. 앱을 프로그래밍 방식으로 만드는 경우에는 프로그래밍 방식으로 만든 앱에 대한 콜백 작성하기 항목을 참조하십시오.

콜백은 사용자가 앱의 UI 구성요소와 상호 작용할 때 실행되는 함수입니다. 대부분의 구성요소에는 하나 이상의 콜백이 있을 수 있습니다. 그러나 레이블과 램프 같은 일부 구성요소에는 정보만 표시되기 때문에 콜백이 없습니다.

구성요소가 지원하는 콜백 목록을 확인하려면 구성요소를 선택하고 구성요소 속성(Properties) 창에서 콜백(Callback) 탭을 클릭하십시오.

콜백 함수 만들기

UI 구성요소의 콜백을 만드는 방법은 여러 가지입니다. 작업 중인 앱 디자이너의 영역에 따라 다른 접근 방법을 사용할 수 있습니다. 다음 목록 중 가장 편리한 방법을 선택하십시오.

  • 캔버스, 구성요소 브라우저(Component Browser) 또는 앱 레이아웃(App Layout) 창에서 구성요소를 마우스 오른쪽 버튼으로 클릭하고 콜백(Callback) > (콜백 속성) 콜백 추가(Add (callback property) callback)를 선택합니다.

  • 구성요소 속성(Properties) 창에서 콜백(Callback) 탭을 선택합니다. 콜백(Callback) 탭의 왼쪽에 지원되는 콜백 속성 목록이 표시됩니다. 각 콜백 속성 옆의 텍스트 필드에서 콜백 함수의 이름을 지정할 수 있습니다. 텍스트 필드 옆의 아래쪽 화살표를 사용하면 꺾쇠 괄호(<>)로 묶인 디폴트 이름을 선택할 수 있습니다. 앱에 이미 콜백이 있으면 드롭다운 목록에 이 콜백이 포함됩니다. 여러 개의 UI 구성요소에서 동일한 코드를 실행하려면 기존 콜백을 선택하십시오.

  • 코드의 코드 보기(Code View)에서 편집기(Editor) 탭의 콜백(Callback) 을 클릭합니다. 또는 코드 브라우저(Code Browser)콜백(Callback) 탭에서 버튼을 클릭합니다.

    콜백 함수 추가(Add Callback Function) 대화 상자에서 다음 옵션을 지정합니다.

    • 구성요소(Component) — 콜백을 실행하는 UI 구성요소를 지정합니다.

    • 콜백(Callback) — 콜백 속성을 지정합니다. 콜백 속성은 콜백 함수를 특정 상호 작용으로 매핑합니다. 일부 구성요소에서는 2개 이상의 콜백 속성을 사용할 수 있습니다. 예를 들어, 슬라이더에는 2개의 콜백 속성 ValueChangedFcnValueChangingFcn이 있습니다. ValueChangedFcn 속성은 사용자가 슬라이더를 이동하고 마우스를 놓으면 실행됩니다. 동일한 구성요소의 ValueChangingFcn 속성은 사용자가 슬라이더를 이동하는 동안 반복적으로 실행됩니다.

    • 이름(Name) — 콜백 함수의 이름을 지정합니다. 앱 디자이너가 디폴트 이름을 제공하지만 텍스트 필드에서 변경할 수 있습니다. 앱에 이미 콜백이 있으면 이름(Name) 필드 옆에 아래쪽 화살표가 표시됩니다. 이것은 목록에서 기존 콜백을 선택할 수 있음을 나타냅니다.

콜백 함수 입력 인수 사용하기

앱 디자이너에 있는 모든 콜백의 함수 시그니처에는 다음 입력 인수가 포함됩니다.

  • appapp 객체입니다. 이 객체를 사용하여 앱의 UI 구성요소뿐 아니라 속성으로 저장된 다른 변수에도 액세스합니다.

  • event — 사용자와 UI 구성요소의 상호 작용에 대한 특정 정보가 포함된 객체입니다.

app 인수는 콜백에 app 객체를 제공합니다. 다음 구문을 사용하면 모든 콜백 내의 어떤 구성요소(및 구성요소와 관련된 모든 속성에)에도 액세스할 수 있습니다.

app.Component.Property

예를 들어, 다음 명령은 게이지의 Value 속성을 50으로 설정합니다. 이 경우, 게이지 이름은 PressureGauge입니다.

app.PressureGauge.Value = 50;

event 인수는 실행 중인 콜백에 따라 서로 다른 속성을 가진 객체를 제공합니다. 객체 속성에는 콜백이 응답하는 상호 작용 유형과 관련된 정보가 포함됩니다. 예를 들어, 슬라이더의 ValueChangingFcn 콜백에 있는 event 인수에는 Value라는 속성이 포함됩니다. 이 속성은 사용자가 위치 조정 컨트롤을 이동하면(마우스를 놓기 전) 슬라이더 값을 저장합니다. 다음은 event 인수를 사용하여 게이지가 슬라이더 값을 추적하도록 설정하는 슬라이더 콜백 함수입니다.

function SliderValueChanged(app, event)
      latestvalue = event.Value; % Current slider value
      app.PressureGauge.Value = latestvalue;  % Update gauge   
end
특정 구성요소의 콜백 함수에 포함된 event 인수에 대해 자세히 알아보려면 해당 구성요소의 속성 페이지를 참조하십시오. 구성요소를 마우스 오른쪽 버튼으로 클릭하고 선택 항목에 대한 도움말(Help on Selection)을 선택하여 속성 페이지가 열립니다. 모든 UI 구성요소의 속성 목록은 앱 디자이너에서 앱 디자인하기 항목을 참조하십시오.

코드에서 콜백 검색하기

앱에 콜백이 많은 경우, 코드 브라우저(Code Browser)콜백(Callback) 탭 상단에 있는 검색 표시줄에 이름의 일부를 입력하여 특정 콜백을 빠르게 검색하고 해당 콜백으로 이동할 수 있습니다. 입력을 시작하면 검색어와 일치하는 콜백을 제외하고는 콜백(Callback) 창에서 사라집니다.

검색 결과를 클릭하면 콜백이 있는 위치로 스크롤됩니다. 검색 결과를 마우스 오른쪽 버튼으로 클릭하고 이동(Go)을 선택하면 커서가 콜백 함수로 이동합니다.

콜백 삭제하기

코드 브라우저(Code Browser)콜백(Callback) 탭에서 콜백을 마우스 오른쪽 버튼으로 클릭하고 상황별 메뉴에서 삭제(Delete)를 선택하여 콜백을 삭제합니다.

예제: 슬라이더 콜백이 있는 앱

이 앱에는 사용자가 위치 조정 컨트롤을 이동할 때 슬라이더 값을 추적하는 게이지가 포함되어 있습니다. 슬라이더의 ValueChangingFcn 콜백은 event 인수에서 슬라이더의 현재 값을 가져옵니다. 그런 다음, 게이지 바늘을 이 값으로 이동합니다.

관련 항목