edit zoom contex menu
Mostra commenti meno recenti
Hello all,
Is there any way to edit the zoom built-in conext menu? I want to add an option to exit zoom mode.
I dont want to create a custom context menu. I want just to edit the original one.
I did it this way:
z = zoom(h.FIG);
z.Enable = 'on';
zoomMenu = findobj(h.FIG, 'Tag', 'ZoomContextMenu');
MENU_exitZoom = uimenu(zoomMenu, 'Text', 'Exit zoom mode', 'Callback', @C_exitZoomMode);
The problem is that the context menu handle is empty if I dont open the menu first with the mouse.
After that, the handle is there, and I can sucessufly add my new option, and it indeed exits zoom mode.
Mathworks states that you cannot add items to the built-in zoom context menu, but you can replace it with your own. But since I did it sucessfully, I suppose this is not entirely true. The only problem is that the menu handle doesn't appear if I dont make the menu show up at least once.
Anyway, I want to create a menu that has all the options of the built-in menu, but with one extra option created by me. Any way for doing this?
Regards,
André
4 Commenti
Adam
il 4 Nov 2019
Extending or truncating Mathworks' default graphics/GUI objects does always seem to be extremely difficult. I have had similar problems trying to programmatically add a toolbar that is just a subset of the default one for a figure.
Looking in my own code I ended up writing a full custom context menu for zooming and panning functionality when I wanted to do something like you are, reprogramming callbacks to do essentially the same as the defaults in many cases too, but it was a lot of effort and seems to span 3 classes. Certainly I didn't find a way to edit the existing menu in a way I wanted.
André
il 4 Nov 2019
André
il 4 Nov 2019
Luc
il 15 Mar 2021
I had a similar problem in the app designer and noticed that adding these lines did the trick for me:
app.UIAxesZoom=zoom(app.UIAxes);
setAllowAxesZoom(app.UIAxesZoom,app.UIAxes,1);
Risposte (0)
Categorie
Scopri di più su Environment and Settings in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!