Внешний вид и поведение системного меню
Свойства, перечисленные здесь, допустимы для меню в GUIDE или в приложениях, созданных с figure
функция. Если вы используете App Designer или uifigure
функционируйте, смотрите Свойства меню вместо этого. Для получения дополнительной информации см. Стратегии Миграции GUIDE.
Меню отображают выпадающие списки опций наверху окна приложения. Вызовите uimenu
функция, чтобы создать меню или добавить подменю в существующее меню. Свойства управляют внешним видом и поведением меню. Используйте запись через точку, чтобы относиться к конкретному объекту и свойству.
f = figure; m = uimenu(f); m.Text = 'Open Selection';
Text
— Метка MenuМетка Menu в виде вектора символов или строкового скаляра. Это свойство задает метку, которая появляется на пункте меню или пункте меню.
Избегайте использования этих чувствительных к регистру зарезервированных слов: "значение по умолчанию", "удалите", и "фабрика". Если необходимо использовать зарезервированное слово, то задайте символ обратной косой черты перед словом. Например, задайте "значение по умолчанию" как '\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'
(значение по умолчанию) | логическое значение включения - выключенияЛиния диафрагмы выше пункта меню в виде '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
свойство проигнорировано, когда пункт меню:
Пункт меню верхнего уровня
Пункт меню, который содержит один или несколько элементов нижестоящего меню
ForegroundColor
— Цвет метки Menu
(значение по умолчанию) | триплет RGB | шестнадцатеричный цветовой код | 'r'
| 'g'
| 'b'
| ...Метка Menu окрашивает в виде триплета 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
— Метка Menu (не рекомендуемый)Метка Menu в виде вектора символов или строкового скаляра. Это свойство задает метку, которая появляется в меню (или пункт меню).
Использование Label
свойство не рекомендуется. Это может быть удалено в будущем релизе. Используйте Text
свойство вместо этого.
Position
— Относительное положение меню (не рекомендуемый)Относительное положение меню в виде скалярного целочисленного значения. Значение Position
свойство указывает на размещение на панели меню или в рамках меню. Меню верхнего уровня появляются слева направо на панели меню согласно значению их Position
свойство, с 1
представление крайнего левого положения. Отдельные элементы в рамках данного меню появляются сверху донизу согласно значению их Position
свойство, с 1
представление самого верхнего положения.
Использование Position
свойство не рекомендуется. Это может быть удалено в будущем релизе. Чтобы изменить порядок пунктов меню, используйте Children
свойство или uistack
функцию вместо этого.
Visible
— Состояние видимости'on'
(значение по умолчанию) | логическое значение включения - выключенияСостояние видимости в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
'on'
— Отобразите объект.
'off'
— Скройте объект, не удаляя его. Все еще можно получить доступ к свойствам невидимого компонента пользовательского интерфейса.
Чтобы заставить ваше приложение запуститься быстрее, установите Visible
свойство к 'off'
для всех компонентов пользовательского интерфейса, которые не должны появляться при запуске.
Enable
— Рабочее состояние'on'
(значение по умолчанию) | логическое значение включения - выключенияРабочее состояние в виде 'on'
или 'off'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Если вы устанавливаете это свойство на 'on'
, пользователь приложения может взаимодействовать с компонентом.
Если вы устанавливаете это свойство на 'off'
, компонент появляется, потускнел, указав, что пользователь приложения не может взаимодействовать с ним, и что он не инициирует коллбэк.
ContextMenu
— Контекстное менюGraphicsPlaceholder
массив (значение по умолчанию) | ContextMenu
объектУстановка этого свойства не оказывает влияния на объекты этого типа.
MenuSelectedFcn
— Меню выбрало коллбэк''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовМеню выбрало коллбэк в виде одного из этих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Этот коллбэк отвечает в зависимости от местоположения пункта меню и типа взаимодействия:
Щелчок левой кнопкой по меню расширяет то меню и инициировал его коллбэк.
В то время как любое меню расширено, наведя, любое другое родительское меню (или меню верхнего уровня) расширяет то меню и инициировало его коллбэк.
Не используйте коллбэк, чтобы динамически изменить пункты меню. Удаление, добавляя, и заменяющий пункты меню в коллбэке может привести к пустому меню. Вместо этого используйте Visible
свойство к пунктам меню hide или show. Можно также включить и отключить пункты меню путем установки Enable
свойство. Чтобы полностью повторно заполнить пункты меню, удалите и создайте их вне коллбэка.
CreateFcn
— Функция создания компонента''
(значение по умолчанию) | указатель на функцию | массив ячеек | вектор символовФункция создания компонентов, заданная в качестве одного из следующих значений:
Указатель на функцию.
Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.
Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.
Это свойство задает функцию обратного вызова, чтобы выполниться, когда MATLAB создает компонент. MATLAB инициализирует все значения свойства компонентов прежде, чем выполнить CreateFcn
'callback'. Если вы не задаете 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'
, или как числовой или логический 1
TRUE
) или 0
ложь
). Значение 'on'
эквивалентно true
, и 'off'
эквивалентно false
. Таким образом можно использовать значение этого свойства как логическое значение. Значение хранится как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
Interruptible
свойство определяет, может ли рабочий коллбэк быть прерван. Существует два состояния обратного вызова:
Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.
Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.
Каждый раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов (если он существует). Interruptible
свойство объекта, владеющего рабочим коллбэком, определяет, позволено ли прерывание:
Значение 'on'
позволяет другим коллбэкам прерывать коллбэки объекта. Прерывание происходит на следующем этапе, где MATLAB обрабатывает очередь, такой как тогда, когда существует drawnow
фигура
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
— Состояние DeletionЭто свойство доступно только для чтения.
Состояние Deletion, возвращенное как логическое значение включения - выключения типа matlab.lang.OnOffSwitchState
.
MATLAB устанавливает BeingDeleted
свойство к 'on'
когда DeleteFcn
коллбэк начинает выполнение. BeingDeleted
свойство остается установленным в 'on'
пока объект компонента больше не существует.
Проверяйте значение BeingDeleted
свойство проверить, что объект не собирается быть удаленным прежде, чем запросить или изменить его.
HitTest
— Способность стать текущим объектом (не рекомендуемый)'on'
(значение по умолчанию) | логическое значение включения - выключенияЭто свойство не оказывает влияния на объекты этого типа.
Parent
— Родительский объектFigure
возразите | ContextMenu
возразите | Menu
объектЭто свойство доступно только для чтения.
Родительский объект в виде Figure
, ContextMenu
, или Menu
объект. Можно переместить пункт меню в различное окно или переместить его в соответствии с различным меню путем установки этого свойства.
Children
— Дочерние элементы менюGraphicsPlaceholder
массив (значение по умолчанию) | 1D массив Menu
объектыДочерние элементы меню, возвращенные как пустой GraphicsPlaceholder
или 1D массив 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 []
(значение по умолчанию) | массивПользовательские данные в виде любого массива. Определение UserData
может быть полезно для обмена данными в рамках приложений. Смотрите Осуществляют обмен данными Среди Коллбэков для получения дополнительной информации.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.