2010-05-04 22 views

Respuesta

17

Define el WindowButtonDownFcn de la devolución de llamada de tu figura usando el comando set y una etiqueta @callbackfunction.

así:

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))]); 

También puede pasar variables adicionales a las funciones de devolución de llamada usando la notación celular:

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

Si se trabaja con objetos uicontrol, entonces es:

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

un poco ayuda, pls. ¿Dónde debería definir mydata? –

+0

Esa es una opción adicional. Las primeras dos funciones funcionarán sin ella, pero si desea pasar otra variable en el área de trabajo a su función, así es como hacerlo. – Doresoom

+0

lo siento si puedo hacer una pregunta de principiante! pero estoy atascado en la sintaxis para pasar variables a los manejadores y para que los manejadores devuelvan sus valores. Creo que tus ejemplos aún no han mostrado eso (excepto 'mydata' algo?) –

Cuestiones relacionadas