Mouse Click callback on an image - temporarily disable

5 views (last 30 days)
Hello, I have a GUI (created by guide) where everytime I load an image and display in an axes component I assign a button down function (called ImageClickCallback) so everytime I click on the image my function ImageClickallback executes. This all works fine.
axes(handles.axes1)
imageHandle=imshow(img,[low,high]); % Display Image
set(imageHandle,'ButtonDownFcn',@ImageClickCallback); % Assign callback to ButtonDown event
I am wanting to now use a mouse click on the image to draw lines (I know how to do this) but everytime I click the image the original ImageClickCallback executes. So my question is can I pause the original ButtonDownFcn callback ?
Thanks

Accepted Answer

Geoff Hayes
Geoff Hayes on 14 Aug 2019
Jason - why not just remove the original callback just prior to wanting to draw the lines
set(imageHandle,'ButtonDownFcn',[]);
You could then restore it later when needed.
  7 Comments
Geoff Hayes
Geoff Hayes on 14 Aug 2019
The problem might be because of the trailing space character in the string
'ButtonDownFcn '
Try replacing with
set(handles.imH,'ButtonDownFcn',[]);
Jason
Jason on 14 Aug 2019
Yes thts it....thanks for spotting the error
Jason

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!