Interactive with graphics in GUI

3 views (last 30 days)
I have context menus on axes. It is called on the left mouse button.
But I cannot bring up this menu on the blue line. This line is built using plot. If I add a polygon, then I can't bring up the menu on it either but it is necessary.
I don't interact with drawn objects.
Maybe there is an opportunity to send the drawing to the background? I ask for help with this.

Accepted Answer

Steven Lord
Steven Lord on 4 May 2021
ax = axes('ButtonDownFcn', @(varargin) disp('hi'));
Click on the axes. MATLAB will display hi in the Command Window.
Now add a line to the axes.
hold on
h = plot(1:10, 1:10);
If you click on the axes but not the line you will still see hi displayed. If you click on (or close enough to) the line you will not see anything new displayed in the Command Window.
Now tell MATLAB to ignore the line when it's determining what you clicked on.
h.HitTest = 'off';
After running that command clicking on the axes and clicking on or near the line will display hi.

More Answers (0)

Categories

Find more on Graphics Object Programming in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!