Управление внешним видом и поведением меню в uifigureПриложения на основе
Меню отображают раскрывающиеся списки параметров в верхней части окна приложения. Позвоните в uimenu для создания меню или добавления подменю в существующее меню. Свойства управляют внешним видом и поведением меню. Используйте точечную нотацию для ссылки на определенный объект и свойство.
fig = uifigure; m = uimenu(fig); m.Text = 'Open Selection';
Перечисленные здесь свойства действительны для меню в App Designer или в приложениях, созданных с помощью uifigure функция. Для меню, используемых в GUIDE, или в приложениях, созданных с помощью figure см. раздел Свойства меню.
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' |
|
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', компонент выглядит затемненным, указывая, что пользователь приложения не может взаимодействовать с ним и что он не инициирует обратный вызов.
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Прерывание обратного вызова, указанное как 'on' или 'off'или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства в качестве логического значения. Значение сохраняется как логическое значение типа вкл/выкл matlab.lang.OnOffSwitchState.
Это свойство определяет, можно ли прервать выполняющийся обратный вызов. Существует два состояния обратного вызова:
Выполняемый обратный вызов - это выполняемый в данный момент обратный вызов.
Обратный вызов с прерыванием - это обратный вызов, который пытается прервать выполняющийся обратный вызов.
Всякий раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать выполняющийся обратный вызов (если он существует). Interruptible свойство объекта, владеющего выполняющимся обратным вызовом, определяет, разрешено ли прерывание.
Значение 'on' позволяет другим обратным вызовам прерывать обратные вызовы объекта. Прерывание происходит в следующей точке, где MATLAB обрабатывает очередь, например, при наличии drawnow, figure, uifigure, getframe, waitfor, или pause команда.
Если выполняемый обратный вызов содержит одну из этих команд, MATLAB останавливает выполнение обратного вызова в этот момент и выполняет прерванный обратный вызов. MATLAB возобновляет выполнение выполняющегося обратного вызова после завершения прерванного обратного вызова.
Если выполняемый обратный вызов не содержит одну из этих команд, MATLAB завершает выполнение обратного вызова без прерывания.
Значение 'off' блокирует все попытки прерывания. BusyAction свойство объекта, владеющего прерывистым обратным вызовом, определяет, отбрасывается ли прерывистый обратный вызов или помещается в очередь.
Примечание
Прерывание и выполнение обратного вызова ведут себя по-разному в следующих ситуациях:
Если обратный вызов с прерыванием является DeleteFcn, CloseRequestFcn или SizeChangedFcn обратный вызов, то прерывание происходит независимо от Interruptible значение свойства.
Если выполняемый обратный вызов в данный момент выполняется waitfor функция, то прерывание происходит независимо от Interruptible значение свойства.
Timer объекты выполняются в соответствии с графиком независимо от Interruptible значение свойства.
Когда происходит прерывание, MATLAB не сохраняет состояние свойств или отображения. Например, объект, возвращенный gca или gcf при выполнении другого обратного вызова команда может измениться.
BusyAction - Постановка в очередь обратного вызова'queue' (по умолчанию) | 'cancel'Очередь обратного вызова, указанная как 'queue' или 'cancel'. BusyAction определяет, как MATLAB обрабатывает выполнение прерывания обратных вызовов. Существует два состояния обратного вызова:
Выполняемый обратный вызов - это выполняемый в данный момент обратный вызов.
Обратный вызов с прерыванием - это обратный вызов, который пытается прервать выполняющийся обратный вызов.
Всякий раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать выполняющийся обратный вызов. Interruptible свойство объекта, владеющего выполняющимся обратным вызовом, определяет, разрешено ли прерывание. Если прерывание не разрешено, то BusyAction свойство объекта, владеющего прерывистым обратным вызовом, определяет, отбрасывается он или помещается в очередь. Это возможные значения BusyAction свойство:
'queue' - помещает обратный вызов с прерыванием в очередь, подлежащую обработке после завершения выполнения обратного вызова.
'cancel' - не выполняет обратный вызов прерывания.
BeingDeleted - Статус удаленияЭто свойство доступно только для чтения.
Состояние удаления, возвращаемое как логическое значение включения/выключения типа matlab.lang.OnOffSwitchState.
MATLAB устанавливает BeingDeleted свойство для 'on' когда DeleteFcn обратный вызов начинает выполнение. BeingDeleted свойство остается установленным в значение 'on' до тех пор, пока объект-компонент больше не будет существовать.
Проверьте значение BeingDeleted для проверки того, что объект не будет удален перед запросом или изменением.
Parent - Родительский объектFigure объект | Menu объект | ContextMenu объектРодительский объект, указанный как Figure объект, созданный с помощью uifigure функция, другая Menu объект или ContextMenu объект. Можно переместить пункт меню в другое окно или переместить его в другое меню, задав это свойство. Укажите родительский элемент как существующий Menu объект для добавления пунктов меню в меню или для вложения пунктов меню.
Children - Дети менюGraphicsPlaceholder массив (по умолчанию) | 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. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.