check if mouse is on a button

3 views (last 30 days)
wetlab Technion
wetlab Technion on 30 May 2021
Answered: Jan on 30 May 2021
I have an app in MATLAB's app designer and I want the mouse shape to change the pointer (using "setfigptr") depending on whether or not the mouse is hovering on a button. so far I used the WindowButtonMotionFcn, running in a loop over all the buttons and comparing the pointer location to each button. however, now that I have more than 30 buttons I am suspecting that this is slowing down the app a bit because the function is called whenever the mouse is moved. is there a different way to do this?
many thanks
nathan

Answers (1)

Jan
Jan on 30 May 2021
If you post your code, the readers might see a point, which can be improved.
A solution might be to create a 2D matrix with same number of elements as the figure has pixels. Let the values be 0 outside the pixels and n for the n.th button. Then use the CurrentPoint in units pixels as index of this matrix. So you need 1 test to check all buttons.

Categories

Find more on Develop Apps Using App Designer in Help Center and File Exchange

Products


Release

R2020b

Community Treasure Hunt

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

Start Hunting!