[英]ButtonDownFcn with an argument in 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
變量。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.