2010-05-04 67 views

回答

17

使用set命令和@callbackfunction標籤定義數字回調的WindowButtonDownFcn

像這樣:

function mytestfunction() 
f=figure; 
set(f,'WindowButtonDownFcn',@mytestcallback) 

function mytestcallback(hObject,~) 
pos=get(hObject,'CurrentPoint'); 
disp(['You clicked X:',num2str(pos(1)),', Y:',num2str(pos(2))]); 

您還可以通過額外的變量回調函數使用細胞記數法:

set(f,'WindowsButtonDownFcn',{@mytestcallback,mydata}) 

如果你使用uicontrol對象的工作,那麼它的:

set(myuicontrolhandle,'Callback',@mytestcallback) 
+0

有點幫助,請。我應該在哪裏定義mydata? – 2013-06-04 08:56:31

+0

這是一個額外的選項。前兩個函數在沒有它的情況下工作,但如果您想將工作區中的另一個變量傳遞給您的函數,那就是如何去做。 – Doresoom 2013-06-04 13:19:07

+0

對不起,如果我可以問一個新手的問​​題!但我堅持使用語法將變量傳遞給處理程序,並且處理程序返回它們的值。我相信你的例子還沒有顯示出來(除了'mydata'之外呢?) – 2013-06-05 06:24:58

相關問題