Interactive with graphics in GUI

5 Ansichten (letzte 30 Tage)
Ivan Sokolov
Ivan Sokolov am 4 Mai 2021
Kommentiert: Ivan Sokolov am 4 Mai 2021
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.

Akzeptierte Antwort

Steven Lord
Steven Lord am 4 Mai 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.

Weitere Antworten (0)

Kategorien

Mehr zu Creating, Deleting, and Querying Graphics Objects finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by