(App Designer) внешний вид и поведение Управления меню
Допустимый для меню в App Designer или в цифрах созданный с функцией uifigure
. Для меню, используемых в GUIDE, или в приложениях, созданных с функцией figure
, смотрите Свойства меню.
Меню отображают выпадающие списки опций наверху окна приложения. Вызовите функцию uimenu
, чтобы создать меню или добавить подменю к существующему меню. Свойства управляют внешним видом и поведением меню. Используйте запись через точку, чтобы относиться к конкретному объекту и свойству.
f = uifigure; m = uimenu(f); m.Text = 'Open Selection';
Текст
Метка менюМетка меню, заданная как вектор символа или скаляр строки. Это свойство задает метку, которая появляется в меню (или пункт меню).
Можно задать мнемосхему для метки с помощью амперсанда (&) символа. Символ, который следует за амперсандом, кажется подчеркнутым в меню. Пользователь может выбрать пункт меню путем нажатия клавиши ALT, сопровождаемой подчеркнутым символом.
Для мнемонической системы, чтобы работать, необходимо задать мнемосхему для всех пунктов меню, которые вы задаете в пользовательском интерфейсе.
Если вы хотите отобразить амперсанд в метке меню, задайте два последовательных амперсанда.
Вот некоторые примеры:
Маркируйте Value | Метка появившегося меню |
---|---|
'&Open Selection' | Открытый Выбор (нажатие Alt подчеркивает O), |
'O&pen Selection' | Открытый Выбор (нажатие Alt подчеркивает p), |
'&Save && Go' | Save & Go (нажатие Alt подчеркивает S), |
'Save& Go' | Save& Идут (пробел не может быть мнемоническим символом), |
Избегайте использования этих чувствительных к регистру зарезервированных слов: “значение по умолчанию”, “удалите”, и “фабрика”. Если необходимо использовать зарезервированное слово, то задайте символ наклонной черты влево перед словом. Например, задайте “значение по умолчанию” как '\default'
.
Accelerator
— Эквивалент клавиатурыЭквивалент клавиатуры, заданный как символ. Это свойство задает символ эквивалента клавиатуры для выбора пункта меню. Определение значения Accelerator
позволяет пользователям выбрать пункт меню путем нажатия символа и другого ключа, вместо того, чтобы использовать мышь. Сочетание клавиш является конкретной платформой:
Системы Windows®: Ctrl+Accelerator
Системы Macintosh: Command+Accelerator
Системы Linux®: Ctrl+Accelerator
Сочетания клавиш работают, даже когда родительское меню сворачивается. Однако существуют некоторые ограничения:
Окно приложения должно быть в особом внимании при вводе последовательности сочетания клавиш.
Акселераторы только работают когда пункт меню:
Не пункт меню верхнего уровня.
Не содержит элементов подменю.
Выполняет функцию обратного вызова.
Имеет набор свойств Visible
к 'on'
.
Чтобы удалить значение Accelerator
, установите свойство Accelerator
на ''
.
Separator
— Режим строки разделителя'off'
(значение по умолчанию) | 'on'
Режим строки разделителя, заданный как 'off'
или 'on'
. Установка этого свойства к 'on'
чертит разделительную линию выше пункта меню.
Свойство Separator
проигнорировано, когда пункт меню является пунктом меню верхнего уровня.
Checked
— Контрольный индикатор меню'off'
(значение по умолчанию) | 'on'
Контрольный индикатор меню, заданный как 'off'
или 'on'
. Установка этого свойства к 'on'
помещает галочку рядом с соответствующим пунктом меню. Установка его к 'off'
удаляет галочку. Можно использовать эту функцию, чтобы показать состояние пунктов меню, которые включают или отключают функциональность в приложении.
Свойство Checked
проигнорировано, когда пункт меню:
Пункт меню верхнего уровня
Пункт меню, который содержит один или несколько элементов нижестоящего меню
ForegroundColor
Цвет метки меню[0 0 0]
(значение по умолчанию) | триплет RGB | 'r'
| 'g'
| 'b'
|...Цвет метки меню, заданный как триплет RGB или один из перечисленных в таблице параметров цвета.
Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7].
Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.
Опция | Описание | Эквивалентный триплет RGB |
---|---|---|
'красный' или 'r'
| Красный | [1 0 0] |
'green' или 'g' | Зеленый | [0 1 0] |
'blue' или 'b' | Синий | [0 0 1] |
'yellow' или 'y' | Желтый | [1 1 0] |
'пурпурный' или 'm'
| Пурпурный | [1 0 1] |
'голубой' или 'c'
| Голубой | [0 1 1] |
'white' или 'w' | Белый | [1 1 1] |
'black' или 'k' | Черный | [0 0 0] |
Visible
— Видимость меню'on'
(значение по умолчанию) | 'off'
Видимость меню, заданная как 'on'
или 'off'
. Когда Visible
свойство установлено в 'off'
, меню не видимо, но можно запросить и установить его свойства.
Enable
— Рабочее состояние меню'on'
(значение по умолчанию) | 'off'
Рабочее состояние меню, заданного как 'on'
или 'off'
. Это свойство управляет, может ли пользователь выбрать пункт меню. То, когда значением является 'off'
, метка меню появляется, потускнело, указав, что пользователь не может выбрать его.
Tooltip
— Подсказка''
(значение по умолчанию) | вектор символа | массив ячеек из символьных векторов | массив строкПодсказка, заданная как вектор символа, массив ячеек из символьных векторов или массив строк. Используйте это свойство отобразить сообщение, когда пользователь нависнет указатель над компонентом во время выполнения. Подсказка отображается, даже когда компонент отключен. Чтобы отобразить несколько строк текста, задайте массив ячеек из символьных векторов или массив строк. Каждый элемент в массиве становится отдельной строкой текста.
MenuSelectedFcn
Меню выбрало обратный вызов''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символаМеню выбрало обратный вызов, заданный как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символа, содержащий допустимое выражение MATLAB® (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Обратный вызов отвечает в зависимости от местоположения пункта меню и типа взаимодействия:
Щелчок левой кнопкой по меню расширяет то меню и инициировал его обратный вызов.
В то время как любое меню расширено, колеблясь, любое другое родительское меню (или меню верхнего уровня) расширяет то меню и инициировало его обратный вызов.
Не используйте обратный вызов, чтобы динамически изменить пункты меню. Удаление, добавляя, и заменяющий пункты меню в обратном вызове может привести к пустому меню. Вместо этого используйте свойство Visible
для пунктов меню hide или show. Можно также включить и отключить пункты меню путем установки свойства Enable
. Чтобы полностью повторно заполнить пункты меню, удалите и создайте их вне обратного вызова.
Для получения дополнительной информации о записи обратных вызовов, смотрите Обратные вызовы Записи в App Designer.
CreateFcn
Функция создания''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символаФункция создания объекта, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символа, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Для получения дополнительной информации об определении обратного вызова как указатель на функцию, массив ячеек или вектор символа, видит Обратные вызовы Записи в App Designer.
Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает объект. MATLAB initializes all property values before executing the CreateFcn callback.
If you do not specify the CreateFcn property, then MATLAB executes a default creation function.
Настройка свойства CreateFcn в существующем компоненте не имеет никакого эффекта.
Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который создается с помощью первого аргумента функции обратного вызова. В противном случае используйте функцию gcbo
, чтобы получить доступ к объекту.
DeleteFcn
Функция удаления''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символаФункция удаления объекта, заданная как одно из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символа, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Для получения дополнительной информации об определении обратного вызова как указатель на функцию, массив ячеек или вектор символа, видит Обратные вызовы Записи в App Designer.
Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB удаляет объект. MATLAB executes the DeleteFcn callback before destroying the properties of the object.
If you do not specify the DeleteFcn property, then MATLAB executes a default deletion function.
Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который удаляется с помощью первого аргумента функции обратного вызова. В противном случае используйте функцию gcbo
, чтобы получить доступ к объекту.
Interruptible
— Прерывание обратного вызова'on'
(значение по умолчанию) | 'off'
Прерывание обратного вызова, обозначаемое как 'on' или 'off'.
Свойство «Прерывание» определяет, можно ли прерывать выполняемый обратный вызов.
Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов (если он существует). Свойство «Прерывание» объекта, имеющего текущий обратный вызов, определяет, разрешено ли прерывание.
Свойство «Прерывание» имеет два возможных значения:
'on'
— Позволяет другим обратным вызовам прерывать обратные вызовы объекта. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь, такой как тогда, когда существует drawnow
, figure
, uifigure
, getframe
, waitfor
или команда pause
.
Если рабочий обратный вызов содержит одну из тех команд, то MATLAB останавливает выполнение обратного вызова в той точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение обратного вызова при завершении прерывания.
Если рабочий обратный вызов не содержит одну из тех команд, то MATLAB заканчивает выполнять обратный вызов без прерывания.
'off'
Блоки все попытки прерывания. Свойство BusyAction объекта, владеющего прерывистым обратным вызовом, определяет, отменяется ли прерывание обратного вызова или помещается в очередь.
Прерывание и выполнение обратного вызова происходят по-разному в таких ситуациях:
Если прерывающий обратный вызов является обратным вызовом DeleteFcn, CloseRequestFcn или SizeChangedFcn, то прерывание происходит независимо от значения свойства прерывания.
Если текущий обратный вызов выполняет функцию waitfor, то прерывание происходит независимо от значения свойства прерывания.
Объекты-таймеры выполняются в соответствии с расписанием независимо от значения свойства прерывания.
Когда происходит прерывание, MATLAB не сохраняет состояние свойств или изображения. Например, объект, возвращенный командой gca или gcf, может измениться при выполнении другого обратного вызова.
BusyAction
Постановка в очередь обратного вызова'queue'
(значение по умолчанию) | 'cancel'
Постановка обратного вызова в очередь задается как 'queue' или 'cancel'.
Свойство BusyAction определяет, как MATLAB обрабатывает выполнение прерывания обратных вызовов.
Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB инициирует обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов. Прерываемое свойство
объекта, владеющего рабочим обратным вызовом, определяет, разрешено ли прерывание. Если прерывание не разрешено, то свойство BusyAction
объекта, владеющего прерыванием обратного вызова, определяет, отбрасывается ли это или вставило очередь. Это возможные значения свойства BusyAction
:
'queue'
— Помещает прерывание обратного вызова в очередь, чтобы быть обработанным после рабочего выполнения концов обратного вызова.
отмена
Не выполняет прерывание обратного вызова.
BeingDeleted
— Deletion'off'
| 'on'
Это свойство доступно только для чтения.
Удаление статуса, возврат на 'off' или 'on'.
MATLAB задает значение свойства BeingDeleted 'on', когда обратный вызов DeleteFcn начинает выполнение.
Значение свойства BeingDeleted остается 'on' до того момента, как объект перестанет существовать.
Проверьте значение свойства BeingDeleted, чтобы убедиться, что объект не будет удален до запроса или изменения.
Parent
— Родительский объектFigure
| Menu
Родительский объект, заданный как Figure
, создал использование функции uifigure
или объекта Menu
. Можно переместить пункт меню в различное окно или переместить его в соответствии с различным меню путем установки этого свойства.
Children
— Дочерние элементы менюGraphicsPlaceholder
(значение по умолчанию) | 1D массив объектов Menu
Дочерние элементы меню, возвращенные как пустой GraphicsPlaceholder
или 1D массив объектов Menu
.
Вы не можете добавить или удалить дочерние компоненты с помощью свойства Children
. Используйте это свойство просмотреть список дочерних элементов или переупорядочить элементы нижестоящего меню.
Чтобы добавить нижестоящее меню к этому списку, установите свойство Parent
другого объекта Menu
к этому объекту Menu
.
HandleVisibility
Видимость указателя на объект'on'
(значение по умолчанию) | 'callback'
| 'off'
Видимость указателя на объект, заданная как 'on', 'callback' или 'off'.
Это свойство контролирует видимость объекта в списке дочерних элементов его родителя. Когда объект не отображается в списке дочерних элементов его родителя, он не возвращается с помощью функций, которые получают объекты, просматривая иерархию объектов или запрашивая свойства. Эти функции включают в себя get, findobj, clf и close.
Объекты действительны, даже если они не видны. Если вы можете получить доступ к объекту, вы можете установить его, получить его свойства и передать его любой функции, которая работает с объектами.
Значение HandleVisibility | Описание |
---|---|
'on' | Объект всегда виден. |
'callback' | Объект видим из обратных вызовов или функций, вызванных обратными вызовами, но не из функций, вызванных из командной строки. Эта опция блокирует доступ к объекту в командной строке, но позволяет обратным вызовам обращаться к нему. |
'off' | Объект невидим в любое время. Эта опция предназначена для предотвращения непреднамеренных изменений в пользовательском интерфейсе другой функцией. Установите значение HandleVisibility на 'off', чтобы временно скрыть объект во время выполнения этой функции. |
Ввод
Тип графического объектаuimenu
Это свойство доступно только для чтения.
Тип графического объекта, возвращенного как 'uimenu'
.
Тег
Идентификатор объекта''
(значение по умолчанию) | вектор символа | представляет скаляр в виде строкиИдентификатор объекта, заданный как вектор символа или скаляр строки. Можно задать уникальное значение Tag
, чтобы служить идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте вашего кода, вы можете использовать функцию findobj для поиска объекта на основе значения тега.
UserData
UserData []
(значение по умолчанию) | массивПользовательские данные, заданные как любой массив MATLAB. Например, можно задать скаляр, вектор, матрицу, массив ячеек, символьный массив, таблицу или структуру. Используйте это свойство хранить произвольные данные на объекте.
Если вы работаете в App Designer, создаете общественные собственности или частные собственности в приложении, чтобы осуществлять обмен данными вместо того, чтобы использовать свойство UserData
. Для получения дополнительной информации смотрите, Осуществляют обмен данными В рамках Приложений App Designer.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.