Создать меню или пункты меню
m = uimenu
создает меню в текущей фигуре и возвращает Menu
объект. Если нет никакой доступной фигуры, MATLAB® вызывает figure
функция, чтобы создать ту.
m = uimenu(
задает значения свойства меню с помощью одного или нескольких аргументов пары "имя-значение".Name,Value
)
m = uimenu(
создает меню в заданном родительском контейнере. Родительский контейнер может быть фигурой, созданной с любым parent
)figure
или uifigure
функция или другой Menu
объект. Значения свойств для uimenu
варьируйтесь немного в зависимости от того, создано ли приложение с figure
или uifigure
функция. Для получения дополнительной информации см. Аргументы в виде пар имя-значение.
m = uimenu(
задает родительский контейнер и одни или несколько значений свойств.parent
,Name,Value
)
Создайте фигуру, которая отображает панель меню по умолчанию. Добавьте меню и пункт меню.
f = figure('Toolbar','none'); m = uimenu('Text','Options'); mitem = uimenu(m,'Text','Reset');
Добавьте пункт меню с горячими клавишами к панели меню и задайте коллбэк, который выполняется, когда пункт меню выбран.
Во-первых, создайте программный файл под названием importmenu.m
. В программном файле:
Создайте фигуру.
Добавьте меню под названием Import. Создайте мнемоническую горячую клавишу для меню путем определения '&Import'
как текстовая метка.
Создайте пункт меню и задайте горячие клавиши акселератора и мнемосхема.
Задайте MenuSelectedFcn
коллбэк, который выполняется, когда пользователь кликает по пункту меню или использует горячие клавиши акселератора или мнемосхема.
Запустите программный файл.
function importmenu fig = uifigure; m = uimenu(fig,'Text','&Import'); mitem = uimenu(m,'Text','&Text File'); mitem.Accelerator = 'T'; mitem.MenuSelectedFcn = @MenuSelected; function MenuSelected(src,event) file = uigetfile('*.txt'); end end
Можно взаимодействовать с пунктом меню и пунктом меню, с помощью клавиатуры, следующими способами:
Выберите меню Import путем нажатия Alt+I.
Выберите пункт меню Text File и выполните коллбэк путем нажатия Alt+I+T.
Выберите пункт меню Text File и выполните коллбэк при помощи акселератора Ctrl+T.
Когда вы выбираете пункт меню Text File, диалоговое окно Select File to Open открывается дополнительным полем, отфильтрованным к текстовым файлам.
Создайте проверенный пункт меню, который может быть выбран или очищен, чтобы показать сетку в осях. Совместно используйте коллбэк с кнопкой так, чтобы продвижение его также показало или скрыло сетку.
Во-первых, создайте программный файл под названием plotOptions.m
. В программном файле:
Создайте фигуру с кнопкой и оси, которые отображают сетку.
Добавьте меню и пункт меню с мнемоникой. Укажите, что пункт меню проверяется.
Задайте MenuSelectedFcn
коллбэк, который скрывает или показывает сетку, когда пользователь взаимодействует с пунктом меню.
Задайте ButtonPushedFcn
это использует ту же функцию обратного вызова в качестве пункта меню.
Запустите программный файл.
function plotOptions fig = uifigure; ax = uiaxes(fig); grid(ax); btn = uibutton(fig,'Text','Show Grid'); btn.Position = [155 325 100 20]; m = uimenu(fig,'Text','&Plot Options'); mitem = uimenu(m,'Text','Show &Grid','Checked','on'); mitem.MenuSelectedFcn = @ShowGrid; btn.ButtonPushedFcn = @ShowGrid; function ShowGrid(src,event) grid(ax); if strcmp(mitem.Checked,'on') mitem.Checked = 'off'; else mitem.Checked = 'on'; end end end
parent
— Родительский контейнерFigure
возразите | Menu
возразите | ContextMenu
объектРодительский контейнер в виде Figure
объект, созданный с любым figure
или uifigure
функция, другой Menu
объект или ContextMenu
объект. Если вы не задаете родительский контейнер, то MATLAB вызывает figure
создать один, и места меню в панели меню той фигуры. Задайте родительский элемент как существующий Menu
объект добавить пункты меню в меню или вложить пункты меню.
Задайте дополнительные разделенные запятой пары Name,Value
аргументы. Name
имя аргумента и Value
соответствующее значение. Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN
.
m = uimenu('Text','Open')
создает меню и устанавливает его метку на 'Open'
.Примечание
Свойства, перечисленные здесь, являются подмножеством доступных свойств. Для полного списка смотрите Свойства меню.
Text
— Метка MenuМетка Menu в виде вектора символов или строкового скаляра. Это свойство задает метку, которая появляется на пункте меню или пункте меню.
Избегайте использования этих чувствительных к регистру зарезервированных слов: 'default'
Удаление
, и 'factory'
. Если необходимо использовать зарезервированное слово, то задайте символ обратной косой черты перед словом. Например, задайте 'default'
как '\default'
.
Можно задать мнемоническую горячую клавишу (Alt+ mnemonic
) при помощи амперсанда (&) символа в тексте для метки. Символ, который следует за амперсандом, кажется подчеркнутым в меню, когда Alt нажимается. Можно выбрать пункт меню путем удержания клавиши Alt и ввода показанного символа.
Чтобы использовать мнемонику, необходимо задать мнемосхему для всех меню и пунктов меню, которые вы задаете в приложении. Если вы задаете мнемонику только для некоторых меню или пунктов меню, нажимание клавиши Alt не оказывает влияния.
Таблица показывает некоторые примеры:
Текстовое значение | Метка меню с мнемоническими подсказками |
---|---|
'&Open Selection' |
|
'O&pen Selection' |
|
'&Save && Go' |
|
Accelerator
— Горячая клавишаГорячая клавиша в виде символа. Используйте это свойство задать горячую клавишу для выбора пункта меню.
Пример: mitem.Accelerator = 'H'
Определение значения акселератора позволяет пользователям выбрать пункт меню путем нажатия символа и другого ключа, вместо того, чтобы использовать мышь. Сочетание клавиш является конкретной платформой.
Windows® системы: Ctrl+ accelerator
Системы Macintosh: Command+ accelerator
Linux® системы: Ctrl+ accelerator
Вещи иметь в виду при использовании акселераторов:
Окно приложения должно быть в особом внимании при вводе последовательности сочетания клавиш.
Акселераторы не могут использоваться в меню верхнего уровня.
Акселераторы только работают, когда пункт меню соответствует всем этим критериям.
Это не содержит элементов подменю.
Это выполняет функцию обратного вызова.
Это имеет Visible
набор свойств к 'on'
.
MenuSelectedFcn
— Меню выбрало коллбэк''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовМеню выбрало коллбэк в виде одного из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Коллбэк отвечает в зависимости от местоположения пункта меню и типа взаимодействия:
Щелчок левой кнопкой по меню расширяет то меню и инициировал его коллбэк.
В то время как любое меню расширено, наведя, любое другое родительское меню (или меню верхнего уровня) расширяет то меню и инициировало его коллбэк.
Примечание
Не используйте коллбэк, чтобы динамически изменить пункты меню. Удаление, добавляя, и заменяющий пункты меню в коллбэке может привести к пустому меню. Вместо этого используйте Visible
свойство к пунктам меню hide или show. Можно также включить и отключить пункты меню путем установки Enable
свойство. Чтобы полностью повторно заполнить пункты меню, удалите и создайте их вне коллбэка.
Для получения дополнительной информации о записи коллбэков, смотрите Коллбэки Записи в App Designer.
Separator
— Режим линии диафрагмы'off'
(значение по умолчанию) | логическое значение включения - выключенияРежим линии диафрагмы в виде 'off'
или 'on'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Установка этого свойства к 'on'
чертит разделительную линию выше пункта меню.
Примечание
Separator
свойство проигнорировано, когда пункт меню является пунктом меню верхнего уровня.
Checked
— Контрольный индикатор меню'off'
(значение по умолчанию) | логическое значение включения - выключенияКонтрольный индикатор меню в виде 'off'
или 'on'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Установка этого свойства к 'on'
помещает галочку рядом с соответствующим пунктом меню. Установка его к 'off'
удаляет галочку. Можно использовать эту функцию, чтобы показать состояние пунктов меню, которые включают или отключают функциональность в приложении.
Примечание
Checked
свойство проигнорировано, когда пункт меню:
Пункт меню верхнего уровня
Пункт меню, который содержит один или несколько элементов нижестоящего меню
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.