Используйте uimenu
функция, чтобы добавить меню панели меню в ваш пользовательский интерфейс. Синтаксис для uimenu
mh = uimenu(parent,'PropertyName',PropertyValue,...)
Где mh
указатель появившегося меню или пункта меню. Смотрите uimenu
страница с описанием для других допустимых синтаксисов.
Эти темы обсуждают использование меню панели стандартного меню MATLAB® и описывают обычно используемые свойства меню и предлагают некоторые простые примеры.
Отображение меню панели стандартного меню является дополнительным. Панель меню этого рисунка содержит стандартные меню.
Если вы используете меню панели стандартного меню, любые меню, которые вы создаете, добавляются к нему. Если вы принимаете решение не отобразить меню панели стандартного меню, панель меню содержит только меню, которые вы создаете. Если вы не отображаете стандартных меню, и вы не создаете меню, сама панель меню не отображается.
Используйте фигуру MenuBar
свойство отобразиться или скрыть панель стандартного меню MATLAB, показанную в предыдущей фигуре. Установите MenuBar
к figure
(значение по умолчанию), чтобы отобразить стандартные меню. Установите MenuBar
к none
скрыть их.
fh.MenuBar = 'figure'; % Display standard menu bar menus. fh.MenuBar = 'none'; % Hide standard menu bar menus.
В этих операторах, fh
указатель фигуры.
Когда вы настраиваете панель меню или панель инструментов, можно управлять отображением средств управления прикреплением окна путем установки DockControls
свойство. Вам не могут быть нужны меню для вашего приложения, но если вы хотите, чтобы пользователь смог прикрепить или расстыковать окно, оно должно содержать панель меню или панель инструментов. Это вызвано тем, что прикреплением управляют прикрепляющийся значок, маленькая кривая стрела около верхнего правого угла панели меню или панели инструментов, когда следующий рисунок показывает.
Окна рисунка с панелью стандартного меню также имеют меню Desktop, в котором пользователь может прикрепить и расстыковать их.
Отобразить прикрепляющуюся стрелу и пункт меню Desktop> Dock Figure, свойство DockControls
фигуры должен быть установлен в
'on'
. Можно установить это свойство в Property Inspector. Кроме того, MenuBar
и/или ToolBar
полагайте, что свойства должны быть установлены в 'on'
отобразить прикрепляющиеся средства управления.
WindowStyle
полагайте, что свойство также влияет на прикрепляющееся поведение. Значением по умолчанию является 'normal'
, но если вы изменяете его в 'docked'
, затем следующее применяется:
Пользовательский интерфейс открывается прикрепленный в рабочем столе, когда вы запускаете приложение.
DockControls
свойство установлено в 'on'
и не может быть выключен до WindowStyle
больше не устанавливается в 'docked'
.
Если вы расстыковываете пользовательский интерфейс, созданный с WindowStyle
установите на 'docked'
, окно будет иметь не, имеют прикрепляющуюся стрелу, если фигура не отображает панель меню или панель инструментов. Когда окно не имеет никакой стрелы прикрепления, пользователи могут расстыковать его с рабочего стола, но будут не мочь повторно прикрепить его.
Подводя итоги, можно отобразиться стыкующий средства управления с DockControls
свойство, пока это не находится в конфликте с WindowStyle
фигуры свойство.
Модальные диалоговые окна (фигурирует с WindowStyle
набор свойств к 'modal'
) не может иметь панелей меню, панелей инструментов или прикрепляющихся средств управления.
Для получения дополнительной информации смотрите DockControls
MenuBar
, ToolBar
, и WindowStyle
описания свойства на странице Figure Properties.
Следующие операторы создают меню панели меню с двумя пунктами меню.
mh = uimenu(fh,'Text','My menu'); eh1 = uimenu(mh,'Text','Item 1'); eh2 = uimenu(mh,'Text','Item 2','Checked','on');
fh
указатель родительской фигуры.
mh
указатель родительского меню.
Text
свойство задает текст, который появляется в меню.
Checked
свойство указывает, что этот элемент отображен с проверкой рядом с ним, когда меню создается.
Если ваш пользовательский интерфейс отображает панель стандартного меню, новое меню добавляется к нему.
Если ваш пользовательский интерфейс не отображает панель стандартного меню, MATLAB создает панель меню, если ни один не существует и затем добавляет меню в него.
Эта команда добавляет линию диафрагмы, предшествующую второму пункту меню.
eh2.Separator = 'on';
Следующие операторы добавляют два подэлемента меню в Пункт 1, присваивают каждый подэлемент ускоритель клавиатуры и отключают первый подэлемент.
seh1 = uimenu(eh1,'Text','Choice 1','Accelerator','C',... 'Enable','off'); seh2 = uimenu(eh1,'Text','Choice 2','Accelerator','H');
Accelerator
свойство добавляет ускорителей клавиатуры в пункты меню. Некоторые акселераторы могут использоваться для других целей в вашей системе, и другие действия могут закончиться.
Enable
свойство отключает первый Выбор подэлемента 1, таким образом, пользователь не может выбрать его, когда меню сначала создается. Элемент появляется, потускнел.
После того, как вы создали все пункты меню, установил их HandleVisibility
свойства off
путем выполнения следующих операторов:
menuhandles = findall(figurehandle,'type','uimenu'); menuhandles.HandleVisibility = 'off';
Смотрите раздел, Пункт меню, для получения информации о программировании пунктов меню.
Контекстные меню появляются, когда пользователь щелкает правой кнопкой по компоненту пользовательского интерфейса или фигуре. Выполните эти шаги, чтобы добавить контекстное меню в ваш пользовательский интерфейс:
Создайте объект контекстного меню использование uicontextmenu
функция.
Добавьте пункты меню в контекстное меню с помощью uimenu
функция.
Сопоставьте контекстное меню с графическим объектом с помощью UIContextMenu
объекта свойство.
Используйте uicontextmenu
функция, чтобы создать объект контекстного меню. Синтаксис
handle = uicontextmenu('PropertyName',PropertyValue,...)
Родительский элемент контекстного меню должен всегда быть фигурой. Используйте Parent
свойство задать родительский элемент uicontextmenu. Если вы не задаете Parent
свойство, родительский элемент является текущей фигурой, как задано полностью CurrentFigure
свойство.
Следующий код создает фигуру и контекстное меню, родительский элемент которого является фигурой. На данном этапе фигура отображается, но не меню.
fh = figure('Position',[300 300 400 225]); cmenu = uicontextmenu('Parent',fh,'Position',[10 215]);
Принудительное отображение Контекстного меню объясняет использование Position
свойство.
Используйте uimenu
функция, чтобы добавить элементы в контекстное меню. Элементы появляются в меню в порядке, в котором вы добавляете их. Следующий код добавляет три элемента в контекстное меню, созданное выше.
mh1 = uimenu(cmenu,'Text','Item 1'); mh2 = uimenu(cmenu,'Text','Item 2'); mh3 = uimenu(cmenu,'Text','Item 3');
Можно задать любые применимые Свойства меню, когда вы задаете элементы контекстного меню. Смотрите uimenu
страница с описанием и Добавляет Меню Панели меню для получения информации об использовании uimenu
создать пункты меню. Обратите внимание на то, что контекстные меню не имеют Accelerator
свойство.
После того, как вы создали контекстное меню и все его элементы, установил их HandleVisibility
свойства к 'off'
путем выполнения следующих операторов:
cmenuhandles = findall(figurehandle,'type','uicontextmenu'); cmenuhandles.HandleVisibility = 'off'; menuitemhandles = findall(cmenuhandles,'type','uimenu'); menuitemhandles.HandleVisibility = 'off';
Можно сопоставить контекстное меню с самой фигурой и со всеми компонентами, которые имеют UIContextMenu
свойство. Это включает оси, панель, группу кнопок, все средства управления пользовательским интерфейсом (uicontrol).
Этот код добавляет панель и оси фигуре. Панель содержит одну кнопку.
ph = uipanel('Parent',fh,'Units','pixels',... 'Position',[20 40 150 150]); bh1 = uicontrol(ph,'String','Button 1',... 'Position',[20 20 60 40]); ah = axes('Parent',fh,'Units','pixels',... 'Position',[220 40 150 150]);
Этот код сопоставляет контекстное меню с фигурой и с осями путем установки UIContextMenu
свойство фигуры и осей к указателю cmenu
из контекстного меню.
fh.UIContextMenu = cmenu; % Figure ah.UIContextMenu = cmenu; % Axes
Щелкните правой кнопкой по фигуре или по осям. Контекстное меню появляется со своим верхним левым углом в местоположении, по которому вы кликнули. Щелкните правой кнопкой по панели или ее кнопке. Контекстное меню не появляется.
Если вы устанавливаете контекстное меню Visible
свойство on
, контекстное меню отображено в местоположении, заданном Position
свойство, без пользователя, принимающего любые меры. В этом примере, контекстном меню Position
свойство [10 215].
cmenu.Visible = 'on';
Контекстное меню отображается в 10 пикселях от левых фигуры и в 215 пикселях от нижней части.
Если вы устанавливаете контекстное меню Visible
свойство к off
, или если пользователь щелкает вне контекстного меню, контекстное меню исчезает.