Для средств управления, функции-обработчики регистра любой в то время, когда вы создаете экземпляр управления (использующий 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: 24actxcontrol | events | registerevent