Ожидайте нажатия кнопки или нажатия клавиши
Примечание
В App Designer и приложениях создал использование uifigure
функция, с помощью uiwait
и определение WindowButtonDownFcn
или WindowKeyPressFcn
коллбэк, который вызывает uiresume
рекомендуется в противоположность использованию waitforbuttonpress
потому что это обеспечивает больше управления поведением приложения. Для получения дополнительной информации см. альтернативную функциональность.
w = waitforbuttonpress
операторы блоков от выполнения, пока пользователь не щелкнул кнопкой мыши или нажал ключ в текущей фигуре.
Возвращаемый аргумент, w
, может иметь следующие значения:
0 если это обнаруживает нажатие кнопки
1 если это обнаруживает нажатие клавиши
waitforbuttonpress
функция не возвращает значение, когда любая из следующих клавиш нажата собой или вместе: Ctrl, Shift, Alt, Caps Lock, Num Lock или Scroll Lock.
Чтобы определить последнюю нажатую клавишу, тип выбора мыши или местоположение указателя мыши в текущей фигуре, запрашивает Figure
свойства CurrentCharacter
SelectionType
, и CurrentPoint
, соответственно.
Некоторые важные моменты, чтобы рассмотреть при использовании waitforbuttonpress
:
Если a WindowButtonDownFcn
задан для фигуры, это выполняется прежде waitforbuttonpress
возвращает значение.
waitforbuttonpress
функциональные ошибки, если пользователь закрывает фигуру путем нажатия окна близкая кнопка, если код не вызывает waitforbuttonpress
функция в a try/catch
блок.
В App Designer и в приложениях, созданных с помощью uifigure
функция, использовать uiwait
к операторам блока от выполнения. Чтобы возобновить выполнение программы, когда пользователь приложения щелкнет кнопкой мыши или нажмет клавишу, задайте WindowButtonDownFcn
или WindowKeyPressFcn
коллбэк, который вызывает uiresume
.
Например, этот код создает фигуру пользовательского интерфейса, которая возобновляет выполнение программы, когда пользователь щелкает в окне рисунка.
fig = uifigure('WindowButtonDownFcn',@(src,event)uiresume(src));
Вызвать uiwait
блокировать выполнение программы до uiresume
называется или фигура удалена. Создайте UIAxes
объект и родительский элемент это фигуре. Набор осей не появляется.
uiwait(fig); ax = uiaxes(fig);
Затем кликните по фигуре. Выполнение программы возобновляется и UIAxes
объект появляется.