Pass variables into set(frt,'W​indowButto​nDownFcn',​@mousePos)

2 次查看(过去 30 天)
Quick question, how can i pass some other variables that i want in mousePos
function mousePos(hObject,~)
mPos=get(hObject,'CurrentPoint');
finalPos(mPos,data)
The data variable is defined in the main function but i want to use it here too.

采纳的回答

Walter Roberson
Walter Roberson 2012-7-15
编辑:Walter Roberson 2012-7-15
set(frt, 'WindowButtonDownFcn', {@mousePos, data} )
and
function mousePos(hObject, ~, data)
Note: this will use the value of "data" as of the time the callback is created, and will not reflect any updates to "data" that are made after that.
  3 个评论
Raldi
Raldi 2012-7-15
Another thing, i was trying to save each rectangle i created so later on i can have acces to the position of the one i want. The code below is not working though.
for i = 1:compnum
id = [num2str(i)];
h.id = imrect(gca, compdata(i,:));
daspect([1,1,1])
end

请先登录,再进行评论。

更多回答(1 个)

Xiangqi
Xiangqi 2013-8-27
To Raldi,
Hi~ Have you found the way to update the value of "data" ?
I encountered the same problem and don't know how to update it.
Thanks for your help in advance.
Huang

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by