簡體   English   中英

在Matlab中帶有參數的ButtonDownFcn

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM