Первое, что вам нужно сделать, это установить свойство ShowHiddenHandles
корневого объекта в 'on'
, что сделает скрытые маркеры обнаруживаемыми.Затем вы можете просто сделать следующее:
>> hMenu = get(lg, 'UIContextMenu') % Get the context menu handle
hMenu =
ContextMenu with properties:
Callback: ''
Children: [12×1 Menu] % This would be empty if handles were still hidden
Show all properties
>> hItems = get(hMenu, 'Children') % Get the menu item handles
hItems =
12×1 Menu array:
Menu (scribe:legend:mcode)
Menu (scribe:legend:propedit)
Menu (scribe:legend:orientation)
Menu (scribe:legend:location)
Menu (scribe:legend:interpreter)
Menu (scribe:legend:font)
Menu (scribe:legend:linewidth)
Menu (scribe:legend:edgecolor)
Menu (scribe:legend:color)
Menu (scribe:legend:edittitle)
Menu (scribe:legend:delete)
Menu (scribe:legend:refresh)
>> delete(hItems(4)); % Delete the fourth item
Вышесказанное также можно сделать с точечной нотацией для доступа к свойству, например:
delete(lg.UIContextMenu.Children(4));
Кроме того, вы можете оставить дескрипторы скрытымии используйте findall
, который требует, чтобы вы знали некоторые свойства объекта, который вы ищете.Например, чтобы найти и удалить объект меню со свойством 'Label'
, установленным на 'Location'
на текущем рисунке, сделайте следующее:
delete(findall(gcf, 'Label', 'Location'));
И для всего вышеперечисленного вы можете подтвердить, что "Опция «Расположение» теперь отсутствует в контекстном меню: