Управляйте внешним видом и поведением в uifigure
- основанные на приложениях
Меню отображают выпадающие списки опций в верхней части окна приложения. Вызовите uimenu
функция для создания меню или добавления подменю к существующему меню. Свойства управляют внешним видом и поведением меню. Используйте запись через точку для ссылки на определенный объект и свойство.
fig = uifigure; m = uimenu(fig); m.Text = 'Open Selection';
Перечисленные здесь свойства действительны для меню в App Designer или в приложениях, созданных с uifigure
функция. Для меню, используемого в GUIDE, или в приложениях, созданных с figure
, см. «Свойства меню».
Text
- Метка менюМетка меню, заданная как вектор символов или строковый скаляр. Это свойство задает метку, которая появляется в меню или элементе меню.
Избегайте использования этих зарезервированных слов с учетом регистра: «по умолчанию», «удалить» и «фабрика». Если необходимо использовать зарезервированное слово, задайте символ обратной косой черты перед словом. Для образца задайте «по умолчанию» следующим '\default'
.
Можно задать мнемоническую горячую клавишу (Alt+ mnemonic
) при помощи символа ampersand (&) в тексте для метки. Символ, который следует за амперсандом, появляется подчеркнутым в меню при нажатии Alt. Можно выбрать элемент меню, удерживая нажатой клавишу Alt и вводя отображаемый символ.
Чтобы использовать мнемонику, необходимо задать мнемоник для всех меню и элементов меню, которые вы задаете в приложении. Если вы задаете мнемонику только для некоторых меню или элементов меню, нажатие клавиши Alt не имеет никакого эффекта.
Таблица показывает несколько примеров:
Текстовое значение | Метка меню с мнемоническими подсказками |
---|---|
'&Open Selection' |
|
'O&pen Selection' |
|
'&Save && Go' |
|
Accelerator
- Сочетание клавишГорячая клавиша, заданная как символ. Используйте это свойство для определения горячей клавиши выбора элемента меню.
Пример: mitem.Accelerator = 'H'
Установка значения Accelerator позволяет пользователям выбрать элемент меню нажатием символа и другой клавиши вместо использования мыши. Последовательность ключей зависит от платформы.
Windows® системы: Ctrl+ accelerator
Системы Macintosh: Command+ accelerator
Linux® системы: Ctrl+ accelerator
Вещи, которые нужно иметь в виду при использовании акселераторов:
Окно приложения должно быть в особом внимании при вводе последовательности клавиш Accelerator.
Accelerators нельзя использовать в меню верхнего уровня.
Акселераторы работают только тогда, когда элемент меню соответствует всем этим критериям.
Он не содержит элементов подменю.
Он выполняет функцию обратного вызова.
Имеет Visible
значение свойства установлено в 'on'
.
Separator
- Режим диафрагмы'off'
(по умолчанию) | логическое значение включения/выключенияРежим линии диафрагмы, заданный как 'off'
или 'on'
, или как числовое или логическое 1
(true
) или 0
(false
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState
.
Установка значения свойства 'on'
рисует разделительную линию над элементом меню.
Примечание
The Separator
свойство игнорируется, когда элемент меню является элементом меню верхнего уровня.
Checked
- Индикатор проверки меню'off'
(по умолчанию) | логическое значение включения/выключенияИндикатор проверки меню, заданный как 'off'
или 'on'
, или как числовое или логическое 1
(true
) или 0
(false
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState
.
Установка значения свойства 'on'
устанавливает флажок рядом с соответствующим элементом меню. Установка значения 'off'
снимает флажок. Можно использовать эту функцию для отображения состояния элементов меню, которые включают или отключают функциональность в вашем приложении.
Примечание
The Checked
свойство игнорируется, когда элемент меню:
Меню верхнего уровня элемента
Пункт меню, содержащий один или несколько элементов дочернего меню
ForegroundColor
- Цвет метки меню[0 0 0]
(по умолчанию) | триплет RGB | шестнадцатеричный цветовой код | 'r'
| 'g'
| 'b'
| ...Цвет метки меню, заданный как триплет RGB, шестнадцатеричный код цвета или один из опций, перечисленных в таблице.
Триплеты RGB и шестнадцатеричные цветовые коды полезны для определения пользовательских цветов.
Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должна быть в области значений [0,1]
; например, [0.4 0.6 0.7]
.
Шестнадцатеричный код цвета - это вектор символов или строковый скаляр, который начинается с хэш-символа (#
), за которым следуют три или шесть шестнадцатеричных цифр, которые могут варьироваться от 0
на F
. Значения не зависят от регистра. Таким образом, цветовые коды '#FF8800'
, '#ff8800'
, '#F80'
, и '#f80'
являются эквивалентными.
Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены именованные опции цвета, эквивалентные триплеты RGB и шестнадцатеричные цветовые коды.
Название цвета | Краткое имя | Триплет RGB | Шестнадцатеричный цветовой код | Внешность |
---|---|---|---|---|
'red' | 'r' | [1 0 0] | '#FF0000' | |
'green' | 'g' | [0 1 0] | '#00FF00' | |
'blue' | 'b' | [0 0 1] | '#0000FF' | |
'cyan' | 'c' | [0 1 1] | '#00FFFF' | |
'magenta' | 'm' | [1 0 1] | '#FF00FF' | |
'yellow' | 'y' | [1 1 0] | '#FFFF00' | |
'black' | 'k' | [0 0 0] | '#000000' | |
'white' | 'w' | [1 1 1] | '#FFFFFF' |
Вот триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию MATLAB® использует на многих типах графиков.
Триплет RGB | Шестнадцатеричный цветовой код | Внешность |
---|---|---|
[0 0.4470 0.7410] | '#0072BD' | |
[0.8500 0.3250 0.0980] | '#D95319' | |
[0.9290 0.6940 0.1250] | '#EDB120' | |
[0.4940 0.1840 0.5560] | '#7E2F8E' | |
[0.4660 0.6740 0.1880] | '#77AC30' | |
[0.3010 0.7450 0.9330] | '#4DBEEE' | |
[0.6350 0.0780 0.1840] | '#A2142F' |
Visible
- Состояние видимости'on'
(по умолчанию) | логическое значение включения/выключенияСостояние видимости, заданное как 'on'
или 'off'
, или как числовое или логическое 1
(true
) или 0
(false
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState
.
'on'
- Отобразите объект.
'off'
- Скрыть объект, не удаляя его. Вы по-прежнему можете получить доступ к свойствам невидимого компонента пользовательского интерфейса.
Чтобы ускорить запуск приложения, установите Visible
свойство к 'off'
для всех компонентов пользовательского интерфейса, которые не должны появляться при запуске.
Enable
- Рабочее состояние'on'
(по умолчанию) | логическое значение включения/выключенияРабочее состояние, заданное как 'on'
или 'off'
, или как числовое или логическое 1
(true
) или 0
(false
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState
.
Если вы задаете это свойство равным 'on'
пользователь приложения может взаимодействовать с компонентом.
Если вы задаете это свойство равным 'off'
компонент появляется затемненным, что указывает на то, что пользователь приложения не может с ним взаимодействовать, и что он не будет запускать коллбэк.
Tooltip
- Подсказка''
(дефолт) | вектор символов | массив ячеек векторов символов | строковые массивы | 1-D категориальный массивПодсказка, заданная как вектор символов, массив ячеек из векторов символов, строковые массивы или 1-D категориальный массив. Используйте это свойство для отображения сообщения при наведении указателя мыши на компонент во время выполнения. Подсказка отображается, даже когда компонент отключен. Чтобы отобразить несколько линии текста, задайте массив ячеек из векторов символов или строковые массивы. Каждый элемент массива становится отдельной строкой текста. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, а не полный набор категорий.
ContextMenu
- Контекстное менюGraphicsPlaceholder
массив (по умолчанию) | ContextMenu
объектКонтекстное меню, заданное как ContextMenu
объект, созданный с использованием uicontextmenu
функция. Используйте это свойство для отображения контекстного меню при щелчке правой кнопкой мыши по компоненту.
MenuSelectedFcn
- Выбранный коллбэк в меню''
(по умолчанию) | указатель на функцию | массив ячеек | вектор символовМеню выбранного коллбэка, заданное как одно из следующих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Коллбэк реагирует в зависимости от местоположения элемента меню и типа взаимодействия:
Щелчок левой кнопкой мыши по меню расширяет это меню и запускает обратный коллбэк.
В то время как любое меню развернуто, зависание любого другого родительского меню (или меню верхнего уровня) расширяет это меню и запускает обратный коллбэк.
Примечание
Не используйте коллбэк для динамического изменения элементов меню. Удаление, добавление и замена пунктов меню в коллбэк может привести к появлению пустого меню. Вместо этого используйте Visible
свойство, чтобы скрыть или показать элементы меню. Можно также включить и отключить элементы меню путем установки Enable
свойство. Чтобы полностью заполнить элементы меню, удалите и создайте их вне коллбэка.
Для получения дополнительной информации о записи коллбэков см. Раздел «Запись коллбэков в App Designer».
CreateFcn
- Функция создания''
(по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция создания объектов, заданная в качестве одного из следующих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Дополнительные сведения об указании коллбэка как указателя на функцию, массива ячеек или вектора символов см. в разделе Запись коллбэков в App Designer.
Это свойство задает функцию обратного вызова, которая должна выполняться, когда MATLAB создает объект. MATLAB инициализирует все значения свойств перед выполнением CreateFcn
коллбэк. Если вы не задаете CreateFcn
свойство, затем MATLAB выполняет функцию создания по умолчанию.
Установка CreateFcn
свойство в существующем компоненте не имеет никакого эффекта.
Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к объекту, который создается с помощью первого аргумента функции обратного вызова. В противном случае используйте gcbo
функция для доступа к объекту.
DeleteFcn
- Функция удаления''
(по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция удаления объектов, заданная в качестве одного из следующих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Дополнительные сведения об указании коллбэка как указателя на функцию, массива ячеек или вектора символов см. в разделе Запись коллбэков в App Designer.
Это свойство задает функцию обратного вызова, которая должна выполняться, когда MATLAB удаляет объект. MATLAB выполняет DeleteFcn
коллбэк перед уничтожением свойств объекта. Если вы не задаете DeleteFcn
свойство, затем MATLAB выполняет функцию удаления по умолчанию.
Если вы задаете это свойство как указатель на функцию или массив ячеек, можно получить доступ к удаляемому объекту с помощью первого аргумента функции обратного вызова. В противном случае используйте gcbo
функция для доступа к объекту.
Interruptible
- Прерывание коллбэка'on'
(по умолчанию) | логическое значение включения/выключенияПрерывание коллбэка, заданное как 'on'
или 'off'
, или как числовое или логическое 1
(true
) или 0
(false
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState
.
Это свойство определяет, можно ли прерывать выполняемый коллбэк. Существует два состояния коллбэка:
Обратный коллбэк running - это актуальный на данный момент коллбэк.
Обратный коллбэк interrupting - это коллбэк, который пытается прервать текущий коллбэк.
Всякий раз, когда MATLAB вызывает коллбэк, этот коллбэк пытается прервать текущий коллбэк (если он существует). The Interruptible
свойство объекта, имеющего текущий коллбэк, определяет, разрешено ли прерывание.
Значение 'on'
позволяет другим коллбэкам прерывать коллбэки объекта. Прерывание происходит в следующей точке, где MATLAB обрабатывает очередь, например, когда есть drawnow
, figure
, uifigure
, getframe
, waitfor
, или pause
команда.
Если текущий коллбэк содержит одну из этих команд, MATLAB останавливает выполнение коллбэка в этой точке и выполняет прерывание обратного вызова MATLAB возобновляет выполнение текущего коллбэка после завершения прерывания обратного вызова.
Если текущий коллбэк не содержит одну из этих команд, MATLAB завершает выполнение коллбэка без прерывания.
Значение 'off'
блокирует все попытки прерывания. The BusyAction
свойство объекта, имеющего прерывание обратного вызова, определяет, отменяется ли прерывание обратного вызова или помещается в очередь.
Примечание
Прерывание и выполнение коллбэка происходят по-разному в таких ситуациях:
Если прерывание обратного вызова является DeleteFcn
, CloseRequestFcn
или SizeChangedFcn
коллбэк, тогда прерывание происходит независимо от Interruptible
значение свойства.
Если текущий коллбэк выполняющегося в данного момента, waitfor
function, тогда прерывание происходит независимо от Interruptible
значение свойства.
Timer
объекты выполняются в соответствии с расписанием независимо от Interruptible
значение свойства.
Когда происходит прерывание, MATLAB не сохраняет состояние свойств или отображения. Для примера, объект, возвращенный gca
или gcf
команда может измениться при выполнении другого коллбэка.
BusyAction
- постановка в очередь коллбэков'queue'
(по умолчанию) | 'cancel'
Постановка в очередь коллбэков, заданная как 'queue'
или 'cancel'
. The BusyAction
свойство определяет, как MATLAB обрабатывает выполнение прерываний обратного вызова. Существует два состояния коллбэка:
Обратный коллбэк running - это актуальный на данный момент коллбэк.
Обратный коллбэк interrupting - это коллбэк, который пытается прервать текущий коллбэк.
Всякий раз, когда MATLAB вызывает коллбэк, этот коллбэк пытается прервать текущий коллбэк. The Interruptible
свойство объекта, имеющего текущий коллбэк, определяет, разрешено ли прерывание. Если прерывание не разрешено, то BusyAction
свойство объекта, имеющего прерывание обратного вызова, определяет, будет ли оно сброшено или помещено в очередь. Это возможные значения BusyAction
свойство:
'queue'
- помещает прерывание обратного вызова в очередь вызовов, подлежащих обработке после концов обратного коллбэка.
'cancel'
- Не выполняет прерывание обратного вызова.
BeingDeleted
- Статус удаленияЭто свойство доступно только для чтения.
Статус удаления, возвращенный как логическое значение включения/выключения типа matlab.lang.OnOffSwitchState
.
MATLAB устанавливает BeingDeleted
свойство к 'on'
когда DeleteFcn
коллбэк начинает выполняться. The BeingDeleted
свойство остается установленным на 'on'
пока объект компонента не перестанет существовать.
Проверьте значение BeingDeleted
свойство, чтобы убедиться, что объект не будет удален до запроса или изменения.
Parent
- Родительский объектFigure
| объекта Menu
| объекта ContextMenu
объектРодительский объект, заданный как Figure
объект, созданный с использованием uifigure
функция, другое Menu
объект, или ContextMenu
объект. Можно переместить элемент меню в другое окно или переместить его в другое меню, установив это свойство. Укажите родительский элемент как существующее Menu
объект для добавления элементов меню в меню или для вложения элементов меню.
Children
- Дети менюGraphicsPlaceholder
array (по умолчанию) | 1-D массив Menu
объектыДети меню, возвращенные как пустые GraphicsPlaceholder
или 1-D массив Menu
объекты.
Вы не можете добавить или удалить дочерние компоненты с помощью Children
свойство. Используйте это свойство для просмотра списка дочерних элементов или для переупорядочивания элементов дочернего меню.
Чтобы добавить дочернее меню в этот список, установите Parent
свойство другого Menu
объект этому Menu
объект.
HandleVisibility
- Видимость указателя на объект'on'
(по умолчанию) | 'callback'
| 'off'
Видимость указателя на объект, заданная как 'on'
, 'callback'
, или 'off'
.
Это свойство контролирует видимость объекта в его родительский список дочерних элементов. Когда объект не отображается в родительский список дочерних элементов, он не возвращается с помощью функций, которые получают объекты, просматривая иерархию объектов или запрашивая свойства. Эти функции включают get
, findobj
, clf
, и close
. Объекты действительны, даже если они не видны. Если вы можете получить доступ к объекту, можно задать и получить его свойства, и передать его в любую функцию, которая работает с объектами.
Значение HandleVisibility | Описание |
---|---|
'on' | Объект всегда отображается. |
'callback' | Объект виден из обратных коллбэков или функций, вызываемых коллбэками, но не из функций, инициируемых из командной строки. Эта опция блокирует доступ к объекту в командной строке, но позволяет функциям обратного вызова обращаться к нему. |
'off' | Объект невидим в любое время. Эта опция используется для предотвращения непреднамеренных изменений пользовательского интерфейса другой функцией. Установите HandleVisibility на 'off' временно скрыть объект во время выполнения этой функции. |
Type
- Тип графического объекта'uimenu'
Это свойство доступно только для чтения.
Тип графического объекта, возвращенный как 'uimenu'
.
Tag
- Идентификатор объекта''
(по умолчанию) | символьный вектор | строковый скалярИдентификатор объекта, заданный как вектор символов или строковый скаляр. Можно задать уникальное Tag
значение, которое служит идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте вашего кода, вы можете использовать findobj
функция для поиска объекта на основе Tag
значение.
UserData
- Пользовательские данные[]
(по умолчанию) | массивПользовательские данные, заданные как любой массив MATLAB. Для примера можно задать скаляр, вектор, матрицу, массив ячеек, символьный массив, таблицу или структуру. Используйте это свойство для хранения произвольных данных на объекте.
Если вы работаете в App Designer, создайте общие или частную собственность в приложении, чтобы делиться данными вместо использования UserData
свойство. Для получения дополнительной информации см. раздел «Обмен данными в приложениях App Designer».
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.