Ich gegoogelt nah und fern, konnte aber kein Beispiel dafür erhalten, wie Sie einen Callback auf das Klickereignis in Matlab zuordnen. Kann mir jemand ein Beispiel zeigen?Matlab: Wie bekomme ich die aktuelle Mausposition auf einen Klick mit Hilfe von Callbacks
12
A
Antwort
17
Definieren Sie die WindowButtonDownFcn
Ihrer Abbildung Rückruf mit dem Set-Befehl und einem @callbackfunction
Tag.
Wie so:
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))]);
Sie können auch zusätzliche Variablen zu Callback-Funktionen unter Verwendung von Zell Notation übergeben:
set(f,'WindowsButtonDownFcn',{@mytestcallback,mydata})
Wenn Sie mit uicontrol Objekten arbeiten, dann ist es:
set(myuicontrolhandle,'Callback',@mytestcallback)
ein bisschen Hilfe, bitte. Wo sollte ich meine Daten definieren? –
Das ist eine zusätzliche Option. Die ersten beiden Funktionen funktionieren ohne sie, aber wenn Sie eine andere Variable im Arbeitsbereich an Ihre Funktion übergeben möchten, können Sie das tun. – Doresoom
Entschuldigung, wenn ich eine Anfängerfrage stellen kann! aber ich bleibe bei der Syntax stecken, um Variablen an Handler und Handler zu übergeben, um ihre Werte zurückzugeben. Ich glaube, dass deine Beispiele das noch nicht gezeigt haben (außer "mydata" etwas?) –