Matlab:如何使用回调函数获取单击时的当前鼠标位置

Matlab:如何使用回调函数获取单击时的当前鼠标位置,matlab,callback,click,Matlab,Callback,Click,我在谷歌上搜索了近处和远处,但没有找到一个例子,说明如何将回调与matlab中的单击事件相关联。有人能给我举个例子吗 使用set命令和@callbackfunction标记定义体形回调的窗口按钮DOWNFCN 像这样: function mytestfunction() f=figure; set(f,'WindowButtonDownFcn',@mytestcallback) function mytestcallback(hObject,~) pos=get(hObject,'Curren

我在谷歌上搜索了近处和远处,但没有找到一个例子,说明如何将回调与matlab中的单击事件相关联。有人能给我举个例子吗

使用set命令和
@callbackfunction
标记定义体形回调的
窗口按钮DOWNFCN

像这样:

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)

请帮点忙。我应该在哪里定义mydata?这是一个额外的选项。前两个函数在没有它的情况下可以工作,但是如果您想将工作区中的另一个变量传递给您的函数,那就是如何做到的。很抱歉,我可能会问一个新手问题!但我仍然停留在将变量传递到处理程序和处理程序返回其值的语法上。我相信你的例子还没有说明这一点(除了“mydata”之类的东西?)