Этот пример показывает, как консолидировать обработчики событий в один файл с помощью локальных функций.
Создайте файл mycallbacks.m
, содержащий три стандартных программы обработчика событий, myclick
, my2click
и mymoused
, реализованный как локальные функции.
function a = mycallbacks(str) a = str2func(str); function myclick(varargin) disp('Single click function') function my2click(varargin) disp('Double click function') function mymoused(varargin) disp('You have reached the mouse down function') disp('The X position is: ') double(varargin{5}) disp('The Y position is: ') double(varargin{6})
Вызов str2func
преобразовывает вектор вводимого символа в указатель на функцию.
Создайте управление.
h = actxcontrol('mwsamp.mwsampctrl.2',[0 0 200 200],gcf,'sampev')
Событие Register Click
.
registerevent(h,{'Click',mycallbacks('myclick')})