ButtonDownFcn与Matlab中的一个参数



我有一个下面包含的补丁,我想在补丁中添加一个额外的ButtonDownFcn。当我选择第二个选项时,代码不起作用,我得到了许多输出参数。

原始补丁

for i = 1:10
    counter = counter+1;
    hpatch(counter) = patch([x(17) x(18) x(1) x(1)],[y(17) y(18) y(1) y(1)],[0 0 0 0],...
    'Parent',hAx,'ButtonDownFcn', ['winopen(''' file(counter) ''');']));
end

新的所需补丁

for i = 1:10
    counter = counter+1;
    hpatch(counter) = patch([x(17) x(18) x(1) x(1)],[y(17) y(18) y(1) y(1)],[0 0 0 0],...
    'Parent',hAx,'ButtonDownFcn', ['winopen(''' file(counter) ''');'],...
    'ButtonDownFcn', @saveClickData(counter));
end

这是的功能

saveClickData(counter)

应该是这样吗?:

saveClickData(source,event)

尝试:

patch(X,Y,Z, 'ButtonDownFcn',{@saveClickData, counter})

然后将回调函数定义为:

function saveClickData(src,evt,counter)
    winopen( file(counter) );
    %# do additional stuff..
end

请确保将此函数定义为嵌套函数,以便它可以访问包括file变量在内的父函数工作区。

相关内容

  • 没有找到相关文章