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

23 次查看(过去 30 天)
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.

采纳的回答

Stephen23
Stephen23 2019-8-16
编辑:Stephen23 2019-8-16
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 个评论
Stephen23
Stephen23 2019-8-16
"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.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Develop uifigure-Based Apps 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by