How to change button color just by hovering the mouse cursor?

13 vues (au cours des 30 derniers jours)
Israel  Hernández
Israel Hernández le 2 Août 2019
Réponse apportée : awezmm le 3 Août 2019
How can I change the color of a button without clicking it, just by hovering the mouse cursor over it, change the color and return to its state when it is outside the button area.

Réponses (1)

awezmm
awezmm le 3 Août 2019
You can continuosly track the position of the cursor inside the figure window.
When the coordinates of the curor are in the coordinates of the the button you can change the color
To continuosly read the position of the mouse, first assign a callback function:
set (gcf, 'WindowButtonMotionFcn', @mouseMove);
Next, create the callback function:
function mouseMove (object, eventdata)
C = get (gca, 'CurrentPoint');
title(gca, ['(X,Y) = (', num2str(C(1,1)), ', ',num2str(C(1,2)), ')']);
Now in this mouseMove function you should have some sort of if state that tests if the cursor is moved into the button and if it is reference the button BackgroundColor propery to change it.
Perhaps also reset the color to default when the user has moved their cursor outside.
Ref link: track-mouse

Catégories

En savoir plus sur Interactive Control and Callbacks dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by