Обработчики событий COM

Обзор обработки событий

Для средств управления, функции-обработчики регистра любой в то время, когда вы создаете экземпляр управления (использующий actxcontrol), или любое время позже (использующий registerevent).

Для серверов используйте registerevent, чтобы указать события.

Используйте events, чтобы перечислить все события, которые распознает COM-объект.

Аргументы, пройден к обработчикам событий

Когда зарегистрированное событие инициировано, MATLAB® передает информацию от события до его функции-обработчика, как показано в следующей таблице.

Аргументы, пройден функциями MATLAB

Аргумент нет.СодержимоеФормат

1

Имя объекта

MATLAB класс COM

2

Идентификатор события

double

3

Запустите списка аргументов события

Как передано управлением

end-2

Конец списка аргументов события (аргумент N)

Как передано управлением

end-1

Структура события

structure

end

EventName

char array

При записи функции обработчика событий используйте аргумент 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, содержит поля, показанные в следующей таблице.

Поля структуры события

Имя поляОписаниеФормат

Type

EventName

char array

Source

Имя элемента управления

MATLAB класс COM

EventID

Идентификатор события

double

Event Arg Name 1

Значение аргумента события 1

Как передано управлением

Event Arg Name 2

Значение аргумента события 2

Как передано управлением

и т.д.

Аргумент события N

Как передано управлением

Например, когда событие MouseDown управления mwsamp2 инициировано, MATLAB передает эту Структуру События зарегистрированному обработчику событий:

    Type: 'MouseDown'
  Source: [1x1 COM.mwsamp.mwsampctrl.2]
 EventID: -605
  Button: 1
   Shift: 0
       x: 27
       y: 24

Смотрите также

| |

Связанные примеры

Больше о