This example shows how to define a context menu.
Context menus are displayed when users right-click the graphics object for which you assign the context menu. Context menus enable you to provide choices to users for interaction with graphics objects.
Program a context menu when you want user to be able to:
Choose among specific options by right-clicking a graphics object.
Provide an indication of what each option is via the menu label.
Produce a specific result without knowing key combinations.
Create a ContextMenu
object by calling the uicontextmenu
function with an
output argument.
Create each menu item using uimenu
.
Define callbacks for each menu item in the context menu.
Parent the individual menu items to the context menu and assign the respective callback.
Assign the ContextMenu
object to the
ContextMenu
property of the object for which you are
defining the context menu.
function cmHandle = defineCM cmHandle = uicontextmenu; uimenu(cmHandle,'Label','Wider','Callback',@increaseLW); uimenu(cmHandle,'Label','Inspect','Callback',@inspectLine); end function increaseLW(~,~) % Increase line width h = gco; orgLW = h.LineWidth; h.LineWidth = orgLW+1; end function inspectLine(~,~) % Open the property inspector h = gco; inspect(h) end
The defineCM
function returns the handle to the context menu that
it creates. Assign this handle to the ContextMenu
property of the
line objects as they are created by the plot
function:
plot(rand(1,5),'ContextMenu',defineCM)
Use a similar programming pattern for your specific requirements.