Для средств управления, функции-обработчики регистра любой в то время, когда вы создаете экземпляр управления (использующий actxcontrol
), или любое время позже (использующий registerevent
).
Для серверов используйте registerevent
, чтобы указать события.
Используйте events
, чтобы перечислить все события, которые распознает COM-объект.
Когда зарегистрированное событие инициировано, MATLAB® передает информацию от события до его функции-обработчика, как показано в следующей таблице.
Аргументы, пройден функциями MATLAB
Аргумент нет. | Содержимое | Формат |
---|---|---|
1 |
Имя объекта |
MATLAB класс |
2 |
Идентификатор события |
|
3 |
Запустите списка аргументов события |
Как передано управлением |
|
Конец списка аргументов события (аргумент N) |
Как передано управлением |
|
Структура события |
|
|
EventName |
|
При записи функции обработчика событий используйте аргумент Event Name, чтобы идентифицировать источник события. Передайте аргументы управлением из Списка аргументов События (аргументы 3
через end-2
). Все обработчики событий должны принять переменное количество аргументов:
function event (varargin) if (strcmp(varargin{end}, 'MouseDown')) % Check the event name x_pos = varargin{5}; % Read 5th Event Argument y_pos = varargin{6}; % Read 6th Event Argument end
Значения передали, меняются в зависимости от конкретного события и используемого управления.
Аргумент Event Structure, переданный MATLAB, содержит поля, показанные в следующей таблице.
Поля структуры события
Имя поля | Описание | Формат |
---|---|---|
|
EventName |
|
|
Имя элемента управления |
MATLAB класс |
|
Идентификатор события |
|
|
Значение аргумента события 1 |
Как передано управлением |
|
Значение аргумента события 2 |
Как передано управлением |
и т.д. |
Аргумент события N |
Как передано управлением |
Например, когда событие MouseDown
управления mwsamp2
инициировано, MATLAB передает эту Структуру События зарегистрированному обработчику событий:
Type: 'MouseDown' Source: [1x1 COM.mwsamp.mwsampctrl.2] EventID: -605 Button: 1 Shift: 0 x: 27 y: 24
actxcontrol
| events
| registerevent