MATLAB GUI mouse shape control

I want to design a gui. And when the cursor point to different part of the GUI, I want it to change the shape itself. Such as becoming a cross or a hand when the cursor point to the image.

1 Commento

Adam Danz
Adam Danz il 25 Giu 2020
Modificato: Adam Danz il 14 Ago 2021
along with
can be used to automatically change the pointer symbol when it hovers over certain objects within the GUI. In regular figures, the pointer manager is supported with figure | axes | uipanel | image objects. As of r2020a, the pointer manager can also be used with uifigures but it seems that only uifigure and uiaxes are supported plus any object plotted within the axes (see demo).

Accedi per commentare.

Risposte (1)

Like this?
% Change mouse pointer (cursor) to an arrow.
set(gcf,'Pointer','arrow')
drawnow; % Cursor won't change right away unless you do this.
% Change mouse pointer (cursor) to an hourglass.
% QUIRK: use 'watch' and you'll actually get an hourglass not a watch.
set(gcf,'Pointer','watch');
drawnow; % Cursor won't change right away unless you do this.

4 Commenti

Yes, YOU ARE right. But how to trigger the command. I want to know how the GUI know where the cursor is, so the pointer can change correspond to the place of the cursor it is.
If you want to change it depending on where in the GUI the cursor is located, you're going to have to put that in a call to the mousemove event.
Thanks. I have already solved the problem.
To get all available cursors, type:
set(gcf,'Pointer')
each one of the resulted list can be used as the 3rd input to the set function.

Accedi per commentare.

Richiesto:

il 21 Lug 2015

Modificato:

il 14 Ago 2021

Community Treasure Hunt

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

Start Hunting!

Translated by