Коллбэки - запрограммированный ответ на действие пользователя

Что такое коллбэки?

callback является функцией, которая выполняется в ответ на некоторое предопределенное действие пользователя, такое как нажатие по графическому объекту или закрытие окна рисунка. Связать коллбэк с определенным пользовательским действием путем назначения функции свойству коллбэка для этого пользовательского действия.

Все графические объекты имеют следующие свойства, для которых можно задать функции обратного вызова:

  • ButtonDownFcn - Выполняется, когда вы нажимаете левую кнопку мыши, пока курсор находится над объектом или находится в нескольких пикселях от объекта.

  • CreateFcn - Выполняется во время создания объекта после MATLAB® задать все свойства

  • DeleteFcn - Выполняется непосредственно перед удалением объекта MATLAB

Примечание

Когда вы вызываете функцию построения графика, такую как plot или barMATLAB создает новые графические объекты и сбрасывает большинство свойств рисунка и оси. Поэтому функции обратного вызова, которые вы определили для графических объектов, могут быть удалены MATLAB. Чтобы избежать этой проблемы, смотрите Задать коллбэк как значение по умолчанию.

Оконные коллбэки

Фигуры имеют дополнительные свойства, которые выполняют коллбэки с определенными действиями пользователя. Эти дополнительные свойства недоступны в Online™ MATLAB.

  • CloseRequestFcn - Выполняется, когда делается запрос на закрытие рисунка (a close команда, меню диспетчера окон или выход из MATLAB).

  • KeyPressFcn - Выполняется при нажатии клавиши, когда курсор находится в окне рисунка.

  • ResizeFcn - Выполняется при изменении размера окна рисунка.

  • WindowButtonDownFcn - Выполняется при нажатии кнопки мыши при наведении курсора на фон рисунка, отключенный элемент управления пользовательским интерфейсом или фон осей.

  • WindowButtonMotionFcn- Выполняется при перемещении курсора в окне рисунка (но не по меню или строке заголовка).

  • WindowButtonUpFcn - Выполняется при отпускании кнопки мыши, после нажатия кнопки мыши на рисунке.