Having trouble changing mouse cursor to "watch" to indicate that function is busy.

33 views (last 30 days)
I have seen similar questions asked already, but haven't had any success actually getting it to work.
The answers I have seen seem to involve some form of the following:
set(gcf, "pointer","watch"); %changes cursor to watch to indicate that the body of the function is about to execute
%----------body of funciton--------%
set(gcf, "pointer","arrow") %returns cursor to default arrow
Is this the proper way to select the mouse cursor as the current figure, or should i be creating a seperate figure handle for the cursor? When I use this method, there is no indication that the cursor has changed appearance at all. Also, I'm not sure that when using the gcf function that it the current figure is even the mouse cursor.

Accepted Answer

Stephen23
Stephen23 on 16 Aug 2019
Edited: Stephen23 on 16 Aug 2019
This worked for me:
set(gcf, 'Pointer','watch')
drawnow() % <- you need this
...
set(gcf, 'pointer','arrow')
Note that the changed cursor will only be visible with the cursor over that figure, and in my experience with >R2014b also responds somewhat unpredictably for different object types.
See maxdistcolor_view:
Note that obtaining and using explicit graphics handles is recommended, rather than assuming that the current figure/axes/... will be the correct one to refer to.
  5 Comments
Stephen23
Stephen23 on 16 Aug 2019
"The "Pointer" property shows up in the autocomplete drop down when in app designer, so it must be a property..."
Interesting... you might be able to find examples by searching the toolboxes.

Sign in to comment.

More Answers (0)

Categories

Find more on Develop uifigure-Based Apps in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!