Управление внешним видом и поведением меню в figureПриложения на основе
Перечисленные здесь свойства действительны для меню в GUIDE или в приложениях, созданных с помощью figure функция. При использовании App Designer или uifigure см. раздел Свойства меню. Дополнительные сведения см. в разделе Стратегии миграции GUIDE.
Меню отображают раскрывающиеся списки параметров в верхней части окна приложения. Позвоните в uimenu для создания меню или добавления подменю в существующее меню. Свойства управляют внешним видом и поведением меню. Используйте точечную нотацию для ссылки на определенный объект и свойство.
f = figure; m = uimenu(f); m.Text = 'Open Selection';
Text - Метка менюМетка меню, заданная как вектор символа или скаляр строки. Это свойство определяет метку, которая отображается в меню или пункте меню.
Не используйте зарезервированные слова с учетом регистра: «default», «remove» и «factory». Если необходимо использовать зарезервированное слово, укажите символ обратной косой черты перед словом. Например, укажите «по умолчанию» как '\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'.
Если элемент меню вложен в контекстное меню, то ускоритель будет работать только в том случае, если контекстное меню находится в фокусе.
Separator - Разделительная строка над пунктом меню'off' (по умолчанию) | логическое значение on/offСтрока разделителя над пунктом меню, указанная как 'off' или 'on'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.
Установка для этого свойства значения 'on' рисует разделительную линию над пунктом меню.
Примечание
Separator игнорируется, если элемент меню является элементом меню верхнего уровня.
Checked - Индикатор проверки меню'off' (по умолчанию) | логическое значение on/offИндикатор проверки меню, указанный как 'off' или 'on'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.
Установка для этого свойства значения 'on' устанавливает флажок рядом с соответствующим пунктом меню. Установка для него значения 'off' снимает флажок. Эту функцию можно использовать для отображения состояния пунктов меню, которые включают или отключают функциональные возможности приложения.
Примечание
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' |
|
Label - Метка меню (не рекомендуется)Метка меню, заданная как вектор символа или скаляр строки. Это свойство определяет метку, которая отображается в меню (или в пункте меню).
Примечание
Использование Label свойство не рекомендуется. Он может быть удален в следующем выпуске. Используйте Text вместо этого свойство.
Position - Относительное положение меню (не рекомендуется)Относительная позиция меню, заданная как скалярное целое значение. Значение Position свойство указывает на размещение в строке меню или в меню. Меню верхнего уровня появляются слева направо в строке меню в соответствии со значением их Position свойство, с 1 представляет крайнюю левую позицию. Отдельные элементы в данном меню отображаются сверху вниз в соответствии со значением их Position свойство, с 1 представляет самую верхнюю позицию.
Примечание
Использование Position свойство не рекомендуется. Он может быть удален в следующем выпуске. Чтобы изменить порядок пунктов меню, используйте Children свойства или uistack вместо этого функция.
Visible - Состояние видимости'on' (по умолчанию) | логическое значение on/offСостояние видимости, указанное как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.
'on' - Просмотр объекта.
'off' - Скрыть объект, не удаляя его. По-прежнему можно получить доступ к свойствам невидимого компонента пользовательского интерфейса.
Чтобы приложение начиналось быстрее, установите Visible свойство для 'off' для всех компонентов пользовательского интерфейса, которые не должны появляться при запуске.
Enable - Рабочее состояние'on' (по умолчанию) | логическое значение on/offРабочее состояние, указанное как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.
Если для этого свойства задано значение 'on'пользователь приложения может взаимодействовать с компонентом.
Если для этого свойства задано значение 'off', компонент выглядит затемненным, указывая, что пользователь приложения не может взаимодействовать с ним и что он не инициирует обратный вызов.
ContextMenu - Контекстное менюGraphicsPlaceholder массив (по умолчанию) | ContextMenu объектУстановка этого свойства не влияет на объекты этого типа.
MenuSelectedFcn - Выбранный в меню обратный вызов'' (по умолчанию) | дескриптор функции | массив ячеек | символьный векторВыбранный в меню обратный вызов, указанный как одно из следующих значений:
Дескриптор функции.
Массив ячеек, в котором первый элемент является дескриптором функции. Последующие элементы в массиве ячеек являются аргументами для передачи функции обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуется). MATLAB вычисляет это выражение в базовой рабочей области.
Дополнительные сведения об указании значения свойства обратного вызова в качестве дескриптора функции, массива ячеек или символьного вектора см. в разделе Как задать значения свойства обратного вызова.
Этот обратный вызов отвечает в зависимости от местоположения пункта меню и типа взаимодействия:
Щелчок левой кнопкой мыши по меню расширяет это меню и вызывает его обратный вызов.
При развертывании любого меню зависание любого другого родительского меню (или меню верхнего уровня) расширяет это меню и вызывает его обратный вызов.
Примечание
Не используйте обратный вызов для динамического изменения пунктов меню. Удаление, добавление и замена пунктов меню в обратном вызове может привести к появлению пустого меню. Вместо этого используйте Visible для скрытия или отображения элементов меню. Можно также включить или отключить пункты меню, установив Enable собственность. Чтобы полностью заполнить пункты меню, удалите и создайте их вне обратного вызова.
CreateFcn - Функция создания компонента'' (по умолчанию) | дескриптор функции | массив ячеек | символьный векторФункция создания компонента, заданная как одно из следующих значений:
Дескриптор функции.
Массив ячеек, в котором первый элемент является дескриптором функции. Последующие элементы в массиве ячеек являются аргументами для передачи функции обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуется). MATLAB вычисляет это выражение в базовой рабочей области.
Дополнительные сведения об указании значения свойства обратного вызова в качестве дескриптора функции, массива ячеек или символьного вектора см. в разделе Как задать значения свойства обратного вызова.
Это свойство определяет функцию обратного вызова, выполняемую при создании компонента MATLAB. MATLAB инициализирует все значения свойств компонентов перед выполнением CreateFcn обратный вызов. Если не указать CreateFcn , то MATLAB выполняет функцию создания по умолчанию.
Используйте gcbo функция в вашей CreateFcn для получения создаваемого объекта компонента.
Установка CreateFcn свойство для существующего объекта-компонента не влияет.
DeleteFcn - Функция удаления компонента'' (по умолчанию) | дескриптор функции | массив ячеек | символьный векторФункция удаления компонента, заданная как одно из следующих значений:
Дескриптор функции.
Массив ячеек, в котором первый элемент является дескриптором функции. Последующие элементы в массиве ячеек являются аргументами для передачи функции обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуется). MATLAB вычисляет это выражение в базовой рабочей области.
Дополнительные сведения об указании значения свойства обратного вызова в качестве дескриптора функции, массива ячеек или символьного вектора см. в разделе Как задать значения свойства обратного вызова.
DeleteFcn свойство определяет функцию обратного вызова, выполняемую при удалении компонента MATLAB (например, при закрытии окна пользователем). MATLAB выполняет команду DeleteFcn обратный вызов перед уничтожением свойств объекта компонента. Если не указать DeleteFcn , то MATLAB выполняет функцию удаления по умолчанию.
Используйте gcbo функция в вашей DeleteFcn для получения удаляемого объекта компонента.
Callback - Выбранный в меню обратный вызов (не рекомендуется)'' (по умолчанию) | дескриптор функции | массив ячеек | символьный векторВыбранный в меню обратный вызов, указанный как одно из следующих значений:
Дескриптор функции.
Массив ячеек, в котором первый элемент является дескриптором функции. Последующие элементы в массиве ячеек являются аргументами для передачи функции обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуется). MATLAB вычисляет это выражение в базовой рабочей области.
Примечание
Использование Callback свойство не рекомендуется. Он может быть удален в следующем выпуске. Использовать MenuSelectedFcn вместо этого.
Interruptible - Прерывание обратного вызова'on' (по умолчанию) | on/off логические значенияПрерывание обратного вызова, указанное как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.
Interruptible определяет, можно ли прервать выполняющийся обратный вызов. Существует два состояния обратного вызова:
Выполняемый обратный вызов - это выполняемый в данный момент обратный вызов.
Обратный вызов с прерыванием - это обратный вызов, который пытается прервать выполняющийся обратный вызов.
Всякий раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать выполняющийся обратный вызов (если он существует). Interruptible свойство объекта, владеющего выполняющимся обратным вызовом, определяет, разрешено ли прерывание:
Значение 'on' позволяет другим обратным вызовам прерывать обратные вызовы объекта. Прерывание происходит в следующей точке, где MATLAB обрабатывает очередь, например, при наличии drawnow, figure, getframe, waitfor, или pause.
Если выполняемый обратный вызов содержит одну из этих команд, MATLAB останавливает выполнение обратного вызова в этот момент и выполняет обратный вызов с прерыванием. MATLAB возобновляет выполнение выполняющегося обратного вызова после завершения прерванного обратного вызова.
Если выполняемый обратный вызов не содержит одну из этих команд, MATLAB завершает выполнение обратного вызова без прерывания.
Значение 'off' блокирует все попытки прерывания. BusyAction свойство объекта, владеющего прерывистым обратным вызовом, определяет, отбрасывается ли прерывистый обратный вызов или помещается в очередь.
Примечание
Прерывание и выполнение обратного вызова ведут себя по-разному в следующих ситуациях:
Если обратный вызов с прерыванием является DeleteFcn, CloseRequestFcn, или SizeChangedFcn обратный вызов, то прерывание происходит независимо от Interruptible значение свойства.
Если выполняемый обратный вызов в данный момент выполняется waitfor функция, то прерывание происходит независимо от Interruptible значение свойства.
Timer объекты выполняются в соответствии с графиком независимо от Interruptible значение свойства.
MATLAB не сохраняет состояние свойств или отображения при прерывании. Например, объект, возвращенный gca или gcf при выполнении другого обратного вызова команда может измениться.
Пример, показывающий, как Interruptible и BusyAction свойства влияют на поведение программы.
BusyAction - Постановка в очередь обратного вызова'queue' (по умолчанию) | 'cancel'Очередь обратного вызова указана как 'queue' (по умолчанию) или 'cancel'. BusyAction определяет, как MATLAB обрабатывает выполнение прерывания обратных вызовов. Существует два состояния обратного вызова:
Выполняемый обратный вызов - это выполняемый в данный момент обратный вызов.
Обратный вызов с прерыванием - это обратный вызов, который пытается прервать выполняющийся обратный вызов.
BusyAction свойство источника обратного вызова прерывания определяет, как MATLAB обрабатывает его выполнение. BusyAction свойство имеет следующие значения:
'queue' - Поместить прерывистый обратный вызов в очередь для обработки после завершения выполнения выполняющегося обратного вызова.
'cancel' - Не выполняйте обратный вызов прерывания.
Всякий раз, когда MATLAB вызывает обратный вызов, этот обратный вызов всегда пытается прервать выполнение обратного вызова. Interruptible свойство объекта, обратный вызов которого выполняется, определяет, разрешено ли прерывание. Если Interruptible имеет значение:
on - Прерывание происходит в следующей точке, где MATLAB обрабатывает очередь. Это значение по умолчанию.
off- BusyAction свойство (объекта, владеющего прерывистым обратным вызовом) определяет, ставит ли MATLAB в очередь или игнорирует прерывистый обратный вызов.
Пример, показывающий, как BusyAction и Interruptible свойства влияют на поведение программы.
BeingDeleted - Статус удаленияЭто свойство доступно только для чтения.
Состояние удаления, возвращаемое как логическое значение включения/выключения типа matlab.lang.OnOffSwitchState.
MATLAB устанавливает BeingDeleted свойство для 'on' когда DeleteFcn обратный вызов начинает выполнение. BeingDeleted свойство остается установленным в значение 'on' до тех пор, пока объект-компонент больше не будет существовать.
Проверьте значение BeingDeleted для проверки того, что объект не будет удален перед запросом или изменением.
HitTest - Возможность стать текущим объектом (не рекомендуется)'on' (по умолчанию) | логическое значение on/offЭто свойство не влияет на объекты этого типа.
Parent - Родительский объектFigure объект | ContextMenu объект | Menu объектЭто свойство доступно только для чтения.
Родительский объект, указанный как Figure, ContextMenu, или Menu объект. Можно переместить пункт меню в другое окно или переместить его в другое меню, задав это свойство.
Children - Дети менюGraphicsPlaceholder массив (по умолчанию) | 1-D массив Menu объектыПотомки меню, возвращенные как пустые GraphicsPlaceholder или 1-D массив Menu объекты. Дочерними элементами меню являются другие меню, которые функционируют как подменю.
Невозможно добавить или удалить дочерние элементы с помощью Children собственность. Это свойство используется для просмотра списка дочерних элементов или изменения порядка элементов дочернего меню. Порядок нижестоящих элементов в этом массиве отражает порядок отображаемых пунктов меню.
Чтобы добавить дочерний элемент в этот список, установите Parent свойства дочернего компонента для Menu объект.
Объекты с HandleVisibility свойство имеет значение 'off' не перечислены в Children собственность.
HandleVisibility - Видимость ручки объекта'on' (по умолчанию) | 'callback' | 'off'Видимость дескриптора объекта, указанного как 'on', 'callback', или 'off'.
Это свойство управляет видимостью дескриптора объекта в списке нижестоящих элементов родительского объекта. Если дескриптор не виден в списке нижестоящих элементов родительского элемента, он не возвращается функциями, получающими дескрипторы путем поиска в иерархии объектов или запроса свойств дескриптора. Эти функции включают get, findobj, gca, gcf, gco, newplot, cla, clf, и close. HandleVisibility свойство также управляет видимостью дескриптора объекта в родительском рисунке CurrentObject собственность. Дескрипторы остаются действительными, даже если они не видны. При наличии доступа к объекту можно задать и получить его свойства и передать его любой функции, которая работает с объектами.
| Значение HandleVisibility | Описание |
|---|---|
'on' | Дескриптор объекта всегда виден. |
'callback' | Дескриптор объекта виден внутри обратных вызовов или функций, вызываемых обратными вызовами, но не внутри функций, вызываемых из командной строки. Этот параметр блокирует доступ к объекту в командной строке, но разрешает доступ к нему функциям обратного вызова. |
'off' | Дескриптор объекта всегда невидим. Этот параметр полезен для предотвращения непреднамеренных изменений пользовательского интерфейса другой функцией. Установите HandleVisibility кому 'off' для временного скрытия дескриптора во время выполнения этой функции. |
Установка корня графики ShowHiddenHandles свойство для 'on' чтобы сделать видимыми все маркеры, независимо от их HandleVisibility значение. Этот параметр не влияет на их HandleVisibility значения.
Type - Тип графического объекта'uimenu'Это свойство доступно только для чтения.
Тип графического объекта, возвращаемого как 'uimenu'.
Tag - Идентификатор объекта'' (по умолчанию) | символьный вектор | строковый скалярИдентификатор объекта, заданный как вектор символа или скаляр строки. Можно указать уникальный Tag для использования в качестве идентификатора объекта. При необходимости доступа к объекту в другом месте кода можно использовать findobj для поиска объекта на основе Tag значение.
UserData - Данные пользователя[] (по умолчанию) | массивПользовательские данные, указанные как любой массив. Определение UserData может быть полезен для совместного использования данных в приложениях. Дополнительные сведения см. в разделе Совместное использование данных среди обратных вызовов.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.