從你得到的按鈕回調的結果,它出現回調已按以下方式(只是舉例)創建:
hButton = uicontrol(...,'Callback',{@button_callback,1,1,[1:6]});
在回調函數button_callback
定義如下:
function button_callback(hObject,eventdata,a,b,c)
...
end
注意到有two extra arguments in the input argument list爲回調函數:hObject
和eventdata
(事件數據的結構)(調用回調對象的句柄)。
如果你想與應該傳遞給它的3個額外的參數(1
,1
,和一個1×6陣列)來調用功能句柄,則需要也傳遞參數爲hObject
和eventdata
輸入。以下是如何調用該函數會看(使用變量ans
):
ans{1}(hButton,[],ans{2:end});
您首先從單元陣列(ans{1}
),那麼call it using parentheses as you would any other function得到函數句柄。對於hObject
,您可以將句柄傳遞給uicontrol對象(如果不需要,則爲空值),對於eventdata
,您可以傳遞一個空值。然後從單元陣列獲取附加值作爲comma-separated list(ans{2:end}
),並將每個值作爲單獨的附加參數傳遞給該函數。
在回答這個問題之後,沒有太多的問題要問。 :)我得到的是單元陣列..以前從未使用過它們,所以沒有意識到我應該以不同的方式讀取它們({}而不是[])。 – JussiR 2009-12-01 09:06:46