eileenhuizi 发表于 2007-5-13 10:57

关于鼠标捕捉的问题

大家好!

我有个问题:

就是我在捕捉鼠标的时候

如果我开始什么都没有画,一个空的坐标轴,这样我的语句是执行成功的。
      point = get(gca,'CurrentPoint');
      point_x = point(:,1);%获取X坐标
      str_x = 'x = ';   set(findobj('tag','text_mouse_x'),'string',);
      point_y = point(:,2);%获取Y坐标
      str_y = 'y = ';   set(findobj('tag','text_mouse_y'),'string',);

但是如果我用plot在这个坐标轴上已经画了一个图,这句话就没有用了!

也即axes_fupin_ButtonDownFcn()这个函数就是这样,如果你什么都不画,那么点击鼠标时它会执行(设置断点调试出来看到执行),如果你已经plot画了图,那么它就不会执行了

这也是造成鼠标坐标捕捉失败的原因吧。

请问大家这个怎么解决?

应该查什么帮助?

谢谢

eight 发表于 2007-5-13 11:02

原帖由 eileenhuizi 于 2007-5-13 10:57 发表 http://www.chinavib.com/forum/images/common/back.gif
大家好!

我有个问题:

就是我在捕捉鼠标的时候

如果我开始什么都没有画,一个空的坐标轴,这样我的语句是执行成功的。
      point = get(gca,'CurrentPoint');
      point_x = point(:,1);%获 ...


请仔细看看生成的m文件中, ButtonDownFcn 函数的前后注释

eileenhuizi 发表于 2007-5-13 12:04

回复 #2 eight 的帖子

我看了
% --- Executes on mouse press over axes background.
function axes_fupin_ButtonDownFcn(hObject, eventdata, handles)
% hObject    handle to axes_fupin (see GCBO)
% eventdatareserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
刚才解决其它问题去了
什么都没有看出来

还是没有说明要怎么办?

eight 发表于 2007-5-13 23:29

原帖由 eileenhuizi 于 2007-5-13 12:04 发表 http://www.chinavib.com/forum/images/common/back.gif
我看了
% --- Executes on mouse press over axes background.
function axes_fupin_ButtonDownFcn(hObject, eventdata, handles)
% hObject    handle to axes_fupin (see GCBO)
% eventdatareserved -...


既然是 over axes background,点击 axes 里面当然不会激活响应函数,用 callback 吧,如果有的话
页: [1]
查看完整版本: 关于鼠标捕捉的问题