UIControl Properties

Управление внешним видом и поведением управления пользовательским интерфейсом

Перечисленные здесь свойства действительны для UIControl объекты в GUIDE или в приложениях, созданных с помощью figure функция. App Designer является рекомендуемым окружением для создания приложений. Для получения дополнительной информации смотрите GUIDE Migration Strategies.

Элементы управления пользовательского интерфейса являются такими компонентами, как кнопки и ползунки, с которыми могут взаимодействовать пользователи. uicontrol функция создает управление пользовательским интерфейсом и устанавливает все необходимые свойства перед его отображением. Изменяя значения свойств, можно изменить внешний вид и поведение элементов управления пользовательского интерфейса. Используйте запись через точку для ссылки на определенный объект и свойство.

f = figure;
b = uicontrol(f,'Style','pushbutton');
b.Position = [100 100 50 20];

Тип управления

расширить все

Стиль UIControl, заданное как значение из следующей таблицы.

Значение стиляОписание
'pushbutton'Кнопка, которая нажимается до тех пор, пока вы не отпустите кнопку мыши.
'togglebutton'Кнопка, которая может иметь два состояния: вверх или депрессия. Состояние кнопки-переключателя изменяется каждый раз, когда вы нажимаете на нее.
'checkbox'Флажок, который может иметь два состояния: установлено или снято. Состояние изменяется при нажатии и отпускании кнопки мыши.
'radiobutton'Кнопка, которая может иметь два состояния: выбранное или отмененное. Переключатели предназначены для того, чтобы быть взаимоисключающими в группе соответствующих переключателей.
'edit'Редактируемое текстовое поле.
'text'Статическое текстовое поле.
'slider'Кнопка, которую пользователь нажимает на горизонтальную или вертикальную планку. Положение кнопки указывает значение в заданной области.
'listbox'Список элементов, из которых пользователь может выбрать один или несколько элементов. В отличие от всплывающих меню, поля списка не расширяются при нажатии кнопки мыши.
'popupmenu'Изолированное меню, которое расширяется для отображения списка вариантов при клике по нему. Когда он свернут, в меню отображается текущий выбор.

Текущее значение, заданное как число. The Value свойство полезно при запросе или изменении статуса некоторых uicontrols:

Стиль uicontrolОписание свойства значения
'togglebutton'
  • Приподнятое: Value свойство равняется значению Min свойство.

  • Депрессия: Value свойство равняется значению Max свойство.

'checkbox'
  • Не проверено: Value свойство изменяется на значение Min свойство.

  • Проверено: Value свойство изменяется на значение Max свойство.

'radiobutton'
  • Отменен выбор: Value свойство изменяется на значение Min свойство.

  • Выбран: Value свойство изменяется на значение Max свойство.

'slider'Value свойство равняется соответствующему значению ползунка.
'listbox'Value свойство равняется индексу массива, соответствующему выбранному элементу в списке. Значение 1 соответствует первому элементу списка.
'popupmenu'Value свойство равняется индексу массива, соответствующему выбранному элементу во всплывающем меню. Значение 1 соответствует первому элементу во всплывающем меню.

Максимальное значение, заданное как число. The Max свойство влияет на представление определенных uicontrols:

Стиль uicontrolОписание свойства значения
'togglebutton'Когда кнопка-переключатель нажата, Value свойство изменяется на значение Max свойство.
'checkbox'Когда флажок установлен, Value свойство изменяется на значение Max свойство.
'radiobutton'Когда переключатель установлен, Value свойство изменяется на значение Max свойство.
'edit'

Текстовое поле редактирования принимает несколько линии входа при MaxMin > 1. В противном случае текстовое поле редактирования принимает одну линию входа.

Абсолютные значения Max и Min не влияет на количество возможных линий. Пока различие больше 1Поле редактирования может содержать любое количество линий.

'slider'The Max значение свойства является максимальным значением ползунка, которое должно быть больше, чем Min значение свойства.
'listbox'The Max значение свойства помогает определить, может ли пользователь выбрать несколько элементов в списке одновременно. Если MaxMin > 1, тогда пользователь может выбрать несколько элементов одновременно. В противном случае пользователь не может выбрать несколько элементов одновременно. Если вы задаете Max и Min свойства, позволяющие выбирать несколько объектов, затем Value значение свойства может быть вектором индексов.

Минимальное значение, заданное как число. The Min свойство влияет на представление определенных uicontrols:

Стиль uicontrolОписание свойства значения
'togglebutton'Когда кнопка-переключатель поднимается, Value свойство изменяется на значение Min свойство.
'checkbox'Когда флажок снят, Value свойство изменяется на значение Min свойство.
'radiobutton'Когда переключатель отключен, Value свойство изменяется на значение Min свойство.
'edit'

Текстовое поле редактирования принимает несколько линии входа при MaxMin > 1. В противном случае текстовое поле редактирования принимает одну линию входа.

Абсолютные значения Max и Min не влияет на количество возможных линий. Пока различие больше 1Поле редактирования может содержать любое количество линий.

'slider'The Min значение свойства является минимальным значением ползунка, которое должно быть меньше, чем Max значение свойства.
'listbox'The Max значение свойства помогает определить, может ли пользователь выбрать несколько элементов в списке одновременно. Если MaxMin > 1, тогда пользователь может выбрать несколько элементов одновременно. В противном случае пользователь не может выбрать несколько элементов одновременно. Если вы задаете Max и Min свойства, позволяющие выбирать несколько объектов, затем Value значение свойства может быть вектором индексов.

Размер шага ползунка, заданный как массив, [minorstep majorstep]. Это свойство управляет величиной изменения значения ползунка, когда пользователь нажимает кнопки со стрелой или ползун (канал ползунка):

  • minorstep - часть ползунка, область значений которой Value свойство увеличивается или уменьшается при нажатии пользователем одной из кнопок со стрелой.

  • majorstep - часть ползунка, область значений которой Value свойство увеличивается или уменьшается при клике по ползунку.

Когда значение majorstep больше 1, доля ползунка не больше 100%.

Оба minorstep и majorstep должно быть больше 1e-6, и minorstep должно быть меньше или равно majorstep.

Как majorstep увеличивается, индикатор большого пальца ползунка растет дольше. Когда majorstep равно 1, индикатор большого пальца вдвое меньше, чем желоб. Индикатор большого пальца больше для majorstep значений, больше 1.

Пример

Этот ползунок имеет область значений MaxMin = 1. Ползунок Value свойство изменяется на 1% при нажатии пользователем кнопки со стрелой. Он изменяется на 10% при клике пользователя по желобу.

s = uicontrol('Style','Slider','Min',0,'Max',1,'SliderStep',[0.01 0.10]);

Индекс верхнего элемента в списке, заданный в виде целого значения. Это свойство применяется только к стилю listbox UIControl. Это свойство определяет, какой элемент появляется в самой верхней позиции в списке, который недостаточно велик для отображения всех записей списка. The ListboxTop значение является индексом в массив, заданный как String значение свойства. The ListboxTop значение должно быть между 1 и количество элементов в массиве. Нецелочисленные значения фиксируются к следующему низшему целому числу.

Примечание

The String и Value свойства могут переопределить значение ListboxTop свойство независимо от ListboxTop заданное значение. The ListboxTop значение может меняться в зависимости от значения других UIControl свойства. Например, явная установка Value свойство прокручивает список до этого значения.

Для получения наиболее надежных результатов запросите или измените ListboxTop свойство после MATLAB® завершает рисование элемента управления пользовательским интерфейсом на экране.

Текст и стилизация

расширить все

Текст для отображения, заданный как вектор символов, массив ячеек из векторов символов, строковых массивов, категориального массива или вектора-строки с разделителем каналов. The Style свойство определяет формат массива, который можно использовать.

Свойство стиляПоддерживаемые форматы массивовПримеры
'pushbutton'

Вектор символов


Массив ячеек из символьных векторов


Строковые массивы


Категориальный массив

'Option 1'


{'Option 1'}


"Option 1"


categorical({'Option 1'})

'togglebutton'
'checkbox'
'radiobutton'
'edit'
'text'
'listbox'

Вектор символов


Массив ячеек из символьных векторов


Строковые массивы


Категориальный массив


Разделенные трубами векторы-строки

'One'


{'One','Two','Three'}


["One" "Two" "Three"]


categorical({'one','two','three'})


'One|Two|Three'

'popupmenu'

Примечание

Если для кнопки, кнопки-переключателя, флажка или переключателя задан массив ячеек или категориальный массив, MATLAB отображает только первый элемент массива.

Цвет текста, заданный как триплет 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'

Примечание

Если вы меняете значение ForegroundColor для listbox MATLAB использует этот цвет для всех элементов listbox, за исключением текущего выбранного элемента listbox. Для выбранных элементов MATLAB использует цвет, который обеспечивает хорошую контрастность между текстом выбранных элементов и цветом выделения.

Пример: [0 0 1]

Пример: 'b'

Пример: 'blue'

Типы данных: double | char

Цвет фона, заданный как триплет 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'

Необязательный значок, заданный как трехмерный массив значений truecolor RGB. Значения в массиве могут быть:

  • Значения двойной точности между 0.0 и 1.0

  • uint8 значения между 0 и 255

Кнопки и кнопки-переключатели являются единственными UIControl объекты, которые полностью поддерживают CData. Если вы задаете CData свойство для переключателя или флажка, изображение может перекрываться с текстом. Кроме того, установка изображения для переключателя или флажка отключает возможность отображения при выборе или отмене выбора.

Типы данных: double | uint8

Шрифт

расширить все

Название шрифта, заданная как система, поддерживаемая названием шрифта или 'FixedWidth'. Шрифт по умолчанию зависит от конкретной операционной системы и локали.

Чтобы использовать шрифт фиксированной ширины, который хорошо выглядит в любом локали, задайте 'FixedWidth'. Фактический используемый шрифт фиксированной ширины зависит от FixedWidthFontName свойство корневого объекта. Изменение FixedWidthFontName свойство приводит к немедленному обновлению отображения, чтобы использовать новый шрифт.

Пример: 'Arial'

Размер шрифта, заданный в виде положительного числа. The FontUnits свойство задает модули. Размер по умолчанию зависит от системы.

Пример: 12

Пример: 12.5

Толщина шрифта, заданный как значение из следующей таблицы.

  • 'normal' - Вес по умолчанию, определяемый конкретным шрифтом

  • 'bold' - более тонкие контуры символов, чем обычно

MATLAB использует FontWeight свойство для выбора шрифта из доступных в вашей системе. Не все шрифты имеют полужирный шрифт вес. Поэтому установка полужирного шрифта веса все еще может привести к нормальной толщине шрифта.

Примечание

The 'light' и 'demi' значения толщины шрифта были удалены в R2014b. Если вы задаете одно из этих значений, результатом является обычная толщина шрифта.

Угол шрифта, заданный как 'normal' или 'italic'. MATLAB использует это свойство, чтобы выбрать шрифт из доступных в вашей системе. Установка значения свойства 'italic' выбирает наклонную версию шрифта, если она доступна в вашей системе.

Примечание

The 'oblique' значение удалено. Использование 'italic' вместо этого.

Модули шрифта, заданные как одно из значений из этой таблицы.

Модули измеренияОписание
'points'Точки. Одна точка - это 1/72 дюйма.
'normalized'Нормированные значения для определения размера шрифта как части высоты. При изменении размера компонента пользовательского интерфейса MATLAB масштабирует отображаемый шрифт, чтобы сохранить эту дробь.
'inches'Дюймы.
'centimeters'Сантиметры.
'pixels'

Пиксели.

Начиная с R2015b, расстояния в пикселях не зависят от вашего системного разрешения в Windows® и системы Macintosh:

  • В системах Windows пиксель составляет 1/96 дюйма.

  • В системах Macintosh пиксель составляет 1/72 дюйма.

На Linux® систем, размер пикселя определяется вашим системным разрешением.

Интерактивность

расширить все

Состояние видимости, заданное как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

  • 'on' - Отобразите объект.

  • 'off' - Скрыть объект, не удаляя его. Вы по-прежнему можете получить доступ к свойствам невидимого компонента пользовательского интерфейса.

Чтобы ускорить запуск приложения, установите Visible свойство к 'off' для всех компонентов пользовательского интерфейса, которые не должны появляться при запуске.

Рабочее состояние управления пользовательским интерфейсом, заданное как 'on', 'off', или 'inactive'. The Enable свойство определяет, реагирует ли управление пользовательским интерфейсом на взаимодействие с пользователем. Вот возможные значения:

  • 'on' - Управление пользовательским интерфейсом работает.

  • 'off' - Управление пользовательским интерфейсом не работает и выглядит серым.

  • 'inactive' - Управление пользовательским интерфейсом не работает, но имеет тот же внешний вид, что и когда Enable установлено в 'on'.

Подсказка, заданная как вектор символов, строковый скаляр или категориальный массив. Используйте это свойство для отображения сообщения при наведении указателя мыши на компонент во время выполнения. Подсказка не отображается, когда компонент отключен. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, а не полный набор категорий.

Чтобы создать несколько линии текста, используйте sprintf функция для вставки символов новой строки ('\n') в вашем тексте. Для примера:

txt = sprintf('Line 1\nLine 2');

Затем установите Tooltip свойство на значение, возвращаемое sprintf.

Контекстное меню, заданное как ContextMenu объект, созданный с использованием uicontextmenu функция. Используйте это свойство для отображения контекстного меню при щелчке правой кнопкой мыши по компоненту.

Подсказка, заданная как вектор символов, строковый скаляр или категориальный массив. Подсказка появляется при наведении указателя мыши на компонент в приложении. Если вы задаете это свойство как категориальный массив, MATLAB использует значения в массиве, а не полный набор категорий.

Примечание

The TooltipString свойство не рекомендуется запускать в R2018b. Используйте Tooltip вместо этого свойство.

Примечание

Поведение Selected свойство изменено в R2014b, и оно не рекомендовано. Он больше не влияет на объекты этого типа. Это свойство может быть удалено в следующем релизе.

Примечание

Поведение SelectionHighlight свойство изменено в R2014b, и оно не рекомендовано. Он больше не влияет на объекты этого типа. Это свойство может быть удалено в следующем релизе.

Положение

расширить все

Расположение и размер, заданные как четырехэлементный вектор формы [left bottom width height]. Эта таблица описывает каждый элемент в векторе.

ЭлементОписание
leftРасстояние от внутреннего левого края родительского контейнера до внешнего левого края управления пользовательским интерфейсом
bottomРасстояние от внутреннего нижнего ребра родительского контейнера до внешнего нижнего ребра управления пользовательским интерфейсом
widthРасстояние между правым и левым внешними краями управления пользовательским интерфейсом
heightРасстояние между верхним и нижним внешними краями управления пользовательским интерфейсом

Все измерения указаны в модулях, заданных Units свойство.

Примечание

The Position значения относятся к drawable area родительского контейнера. Область векторной и растровой графики является областью внутри границ контейнера и не включает площадь, занимаемую заголовком. Если родительский контейнер является рисунком, то область векторной и растровой графики также исключает панель меню и панель инструментов.

Измените одно значение в векторе положения

Вы можете объединить запись через точку и индексацию массива, когда хотите изменить одно значение в Position вектор. Например, этот код изменяет ширину элемента управления пользовательского интерфейса на 52:

b = uicontrol;
b.Position(3) = 52;
b.Position
ans =

    20    20    52    20

Расположение и размер, заданные как четырехэлементный вектор формы [left bottom width height]. Все измерения указаны в модулях, заданных Units свойство.

Это значение свойства идентично Position и OuterPosition значения свойств.

Расположение и размер, заданные как четырехэлементный вектор формы [left bottom width height]. Все измерения указаны в модулях, заданных Units свойство.

Это значение свойства идентично Position и InnerPosition значения свойств.

Это свойство доступно только для чтения.

Размер окружающего прямоугольника, возвращаемый как четырехэлементный вектор-строка. Первые два элемента вектора всегда равны нулю. Третий и четвертый элементы являются шириной и высотой прямоугольника, соответственно. Все измерения указаны в модулях, заданных Units свойство.

MATLAB определяет размер прямоугольника на основе размера String значение свойства и характеристики шрифта. Чтобы настроить ширину и высоту, чтобы соответствовать размеру String значение, установите Position ширина и высота будут немного больше, чем Extent значения ширины и высоты.

Для String значение, которое является одной линией текста, элементом высоты Extent свойство указывает высоту одной линии. Элемент width указывает ширину самой длинной линии, даже если текст переносится при отображении на элементе управления. Для нескольких линий текста, Extent прямоугольник охватывает все линии текста. Редактируемые текстовые поля рассматриваются как многострочные, если MaxMin > 1.

Единицы измерения, заданные в качестве одного из значений из этой таблицы.

Модули измеренияОписание
'pixels' (по умолчанию)

Пиксели.

Начиная с R2015b, расстояния в пикселях не зависят от вашего системного разрешения в системах Windows и Macintosh:

  • В системах под управлением Windows пиксель составляет 1/96 дюйма.

  • В системах Macintosh пиксель составляет 1/72 дюйма.

В системах Linux размер пикселя определяется вашим системным разрешением.

'normalized'Эти модули измерения нормированы относительно родительского контейнера. Нижний левый угол контейнера сопоставлен с (0,0) и правый верхний угол преобразуется в (1,1).
'inches'Дюймы.
'centimeters'Сантиметры.
'points'Точки. Одна точка равна 1/72 дюйма.
'characters'

Эти модули основаны на шрифте uicontrol по умолчанию графического корневого объекта:

  • Ширина символа = ширина буквы x.

  • Высота символа = расстояние между базовыми линиями двух строк текста.

Для доступа к шрифту uicontrol по умолчанию используйте get(groot,'defaultuicontrolFontName') или set(groot,'defaultuicontrolFontName').

MATLAB измеряет все модули измерения в левом нижнем углу родительского объекта.

Это свойство влияет на Position свойство. Если вы меняете Units свойство, рассмотрите возврат его значения к значению по умолчанию после завершения расчетов, чтобы избежать влияния на другие функции, которые берут значение по умолчанию.

Порядок, в котором вы задаете Units и Position свойства имеют следующие эффекты:

  • Если вы задаете Units перед Position свойство, затем MATLAB устанавливает Position используя модули.

  • Если вы задаете Units свойство после Position свойство, MATLAB устанавливает положение используя значение по умолчанию Units. Затем MATLAB преобразует Position значение эквивалентного значения в заданных модулях.

Выравнивание текста uicontrol, заданное как 'center', 'left', или 'right'. Это свойство определяет обоснование String текст свойства.

The HorizontalAlignment свойство влияет только на 'text' и 'edit' стили uicontrols.

Коллбэки

расширить все

Первичная функция обратного вызова, заданная в качестве одного из следующих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Эта функция выполняется в ответ на взаимодействие с пользователем, такое как нажатие кнопки нажатий кнопки, перемещение ползунка или выбор флажка. Эта функция может выполняться только тогда, когда Enable свойство UIControl для объекта задано значение 'on'.

Для получения дополнительной информации об указании значения свойства коллбэка как указателя на функцию, массива ячеек или вектора символов, см. Раздел «Как задать значения свойств коллбэка».

Типы данных: function_handle | cell | char

Функция обратного вызова с нажатием кнопки, заданная в качестве одного из следующих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об указании значения свойства коллбэка как указателя на функцию, массива ячеек или вектора символов, см. Раздел «Как задать значения свойств коллбэка».

The ButtonDownFcn коллбэк - это функция, которая выполняется при нажатии пользователем кнопки мыши на компоненте пользовательского интерфейса. Коллбэк выполняется в следующих ситуациях:

  • Пользователь щелкает правой кнопкой мыши компонент пользовательского интерфейса и Enable для свойства задано значение 'on'.

  • Пользователь щелкает правой или левой кнопкой мыши компонент пользовательского интерфейса и Enable для свойства задано значение 'off' или 'inactive'.

Функция обратного вызова при нажатии клавиши, заданная в качестве одного из следующих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об указании значения свойства коллбэка как указателя на функцию, массива ячеек или вектора символов, см. Раздел «Как задать значения свойств коллбэка».

Эта функция обратного вызова выполняется, когда UIControl объект имеет особое внимание, и пользователь нажимает клавишу. Если функция для этого свойства не задана, MATLAB передает нажатия клавиш родительскому рисунку. Повторные нажатия клавиши сохраняют особое внимание UIControl объект, и функция выполняется с каждым нажатием клавиши. Если пользователь нажимает несколько клавиш приблизительно одновременно, MATLAB обнаруживает нажатие клавиши для последней нажатой клавиши.

Если вы задаете это свойство как указатель на функцию (или массив ячеек, содержащий указатель на функцию), MATLAB передает объект, содержащий данные коллбэка, в качестве второго аргумента в функцию обратного вызова. Этот объект содержит свойства, описанные в следующей таблице. Вы можете получить доступ к этим свойствам внутри функции обратного вызова с помощью записи через точку.

Свойство

Описание

Примеры:

a

=

Сдвиг

Сдвиг-а

CharacterСимвол, который отображается в результате нажатия клавиши или клавиш. Символ может быть пустым или непечатаемым.'a''=''''A'
ModifierМассив ячеек, содержащий имена одной или нескольких нажатых клавиш-модификаторов (таких как, Ctrl, Alt, Shift).{1x0 cell}{1x0 cell}{'shift'}{'shift'}
KeyНажимаемая клавиша, идентифицируемая (строчной) меткой на клавише или текстовым описанием.'a''equal''shift''a'
SourceОбъект, который особое внимание, когда пользователь нажимает клавишу.UIControl объектUIControl объектUIControl объектUIControl объект
EventNameДействие, которое вызвало выполнение функции обратного вызова.'KeyPress''KeyPress''KeyPress''KeyPress'

Нажатие клавиш модификатора влияет на данные коллбэка следующими способами:

  • Клавиши-модификаторы могут повлиять на Character свойство, но не изменяйте Key свойство.

  • Некоторые клавиши и клавиши, измененные с помощью Ctrl, помещают непечатаемые символы в Character свойство.

  • Ctrl, Alt, Shift и несколько других ключей не генерируют Character данные о свойствах.

Вы также можете запросить CurrentCharacter свойство рисунка, чтобы определить, какой символ нажал пользователь.

Функция обратного вызова с освобождением ключа, заданная в качестве одного из следующих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об указании значения свойства коллбэка как указателя на функцию, массива ячеек или вектора символов, см. Раздел «Как задать значения свойств коллбэка».

Эта функция обратного вызова выполняется, когда UIControl объект имеет особое внимание, и пользователь отпускает ключ.

Если вы задаете это свойство как указатель на функцию (или массив ячеек, содержащий указатель на функцию), MATLAB передает объект, содержащий данные коллбэка, в качестве второго аргумента в функцию обратного вызова. Этот объект содержит свойства, описанные в следующей таблице. Вы можете получить доступ к этим свойствам внутри функции обратного вызова с помощью записи через точку.

Свойство

Описание

Примеры:

a

=

Сдвиг

Сдвиг-а

Character

Интерпретация символов ключа, который был выпущен.

'a''=''''A'
Modifier

Модификатор тока, такой как 'control'или пустой массив ячеек, если нет модификатора.

{1x0 cell}{1x0 cell}{1x0 cell}{1x0 cell}
Key

Имя выпущенного ключа, обозначенное строчной меткой на ключе или текстовым описанием.

'a''equal''shift''a'
SourceОбъект, который особое внимание, когда пользователь нажимает клавишу.UIControl объектUIControl объектUIControl объектUIControl объект
EventNameДействие, которое вызвало выполнение функции обратного вызова.'ase''ase''ase''ase'

Нажатие клавиш модификатора влияет на данные коллбэка следующими способами:

  • Клавиши-модификаторы могут повлиять на Character свойство, но не изменяйте Key свойство.

  • Некоторые клавиши и клавиши, измененные с помощью Ctrl, помещают непечатаемые символы в Character свойство.

  • Ctrl, Alt, Shift и несколько других ключей не генерируют Character данные о свойствах.

Вы также можете запросить CurrentCharacter свойство рисунка, чтобы определить, какой символ нажал пользователь.

Функция создания компонентов, заданная в качестве одного из следующих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об указании значения свойства коллбэка как указателя на функцию, массива ячеек или вектора символов, см. Раздел «Как задать значения свойств коллбэка».

Это свойство задает функцию обратного вызова, которая должна выполняться, когда MATLAB создает компонент. MATLAB инициализирует все значения свойств компонентов перед выполнением CreateFcn коллбэк. Если вы не задаете CreateFcn свойство, затем MATLAB выполняет функцию создания по умолчанию.

Используйте gcbo функция в вашем CreateFcn код для получения объекта компонента, который создается.

Установка CreateFcn свойство существующего объекта компонента не имеет эффекта.

Функция удаления компонента, заданная в качестве одного из следующих значений:

  • Указатель на функцию.

  • Массив ячеек, в котором первый элемент является указателем на функцию. Последующие элементы массива ячеек являются аргументами, которые передаются в функцию обратного вызова.

  • Вектор символов, содержащий допустимое выражение MATLAB (не рекомендуемый). MATLAB оценивает это выражение в базовом рабочем пространстве.

Для получения дополнительной информации об указании значения свойства коллбэка как указателя на функцию, массива ячеек или вектора символов, см. Раздел «Как задать значения свойств коллбэка».

The DeleteFcn свойство задает функцию обратного вызова, которая должна выполняться, когда MATLAB удаляет компонент (для примера, когда пользователь закрывает окно). MATLAB выполняет DeleteFcn коллбэк перед уничтожением свойств объекта компонента. Если вы не задаете DeleteFcn свойство, затем MATLAB выполняет функцию удаления по умолчанию.

Используйте gcbo функция в вашем DeleteFcn код для получения удаляемого объекта компонента.

Контроль выполнения обратного вызова

расширить все

Прерывание коллбэка, заданное как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

The Interruptible свойство определяет, можно ли прерывать выполняемый коллбэк. Существует два состояния коллбэка:

  • Обратный коллбэк running - это актуальный на данный момент коллбэк.

  • Обратный коллбэк interrupting - это коллбэк, который пытается прервать текущий коллбэк.

Всякий раз, когда MATLAB вызывает коллбэк, этот коллбэк пытается прервать текущий коллбэк (если он существует). The Interruptible свойство объекта, имеющего текущий коллбэк, определяет, разрешено ли прерывание:

  • Значение 'on' позволяет другим коллбэкам прерывать коллбэки объекта. Прерывание происходит в следующей точке, где MATLAB обрабатывает очередь, например, когда есть drawnow, figure, getframe, waitfor, или pause.

    • Если текущий коллбэк содержит одну из этих команд, MATLAB останавливает выполнение коллбэка в этой точке и выполняет прерывание обратного вызова. MATLAB возобновляет выполнение текущего коллбэка после завершения прерывания обратного вызова.

    • Если текущий коллбэк не содержит одну из этих команд, MATLAB завершает выполнение коллбэка без прерывания.

  • Значение 'off' блокирует все попытки прерывания. The BusyAction свойство объекта, имеющего прерывание обратного вызова, определяет, отменяется ли прерывание обратного вызова или помещается в очередь.

Примечание

Прерывание и выполнение коллбэка происходят по-разному в таких ситуациях:

  • Если прерывание обратного вызова является DeleteFcn, CloseRequestFcn, или SizeChangedFcn коллбэк, тогда прерывание происходит независимо от Interruptible значение свойства.

  • Если текущий коллбэк выполняющегося в данного момента, waitfor function, тогда прерывание происходит независимо от Interruptible значение свойства.

  • Timer объекты выполняются в соответствии с расписанием независимо от Interruptible значение свойства.

  • MATLAB не сохраняет состояние свойств или отображения при прерывании. Для примера, объект, возвращенный gca или gcf команда может измениться при выполнении другого коллбэка.

См. пример выполнения прерывания обратного вызова, показывающий, как Interruptible и BusyAction свойства влияют на поведение программы.

Организация очереди коллбэков задается как 'queue' (по умолчанию) или 'cancel'. The BusyAction свойство определяет, как MATLAB обрабатывает выполнение прерываний обратного вызова. Существует два состояния коллбэка:

  • Обратный коллбэк running - это актуальный на данный момент коллбэк.

  • Обратный коллбэк interrupting - это коллбэк, который пытается прервать текущий коллбэк.

The BusyAction свойство источника прерывания обратного вызова определяет, как MATLAB обрабатывает его выполнение. The BusyAction свойство имеет следующие значения:

  • 'queue' - Поместите прерывание обратного вызова в очередь вызовов, подлежащих обработке после концов обратного коллбэка.

  • 'cancel' - Не выполнять прерывание обратного вызова.

Всякий раз, когда MATLAB вызывает коллбэк, этот коллбэк всегда пытается прервать выполнение текущего коллбэка. The Interruptible свойство объекта, чей коллбэк выполняется, определяет, разрешено ли прерывание. Если Interruptible установлено в:

  • on - Прерывание происходит в следующей точке, где MATLAB обрабатывает очередь. Это значение по умолчанию.

  • off - The BusyAction свойство (объекта, имеющего прерывающий обратный вызов) определяет, будет ли MATLAB ставить в очередь или игнорировать прерывание обратного вызова.

См. пример выполнения прерывания обратного вызова, показывающий, как BusyAction и Interruptible свойства влияют на поведение программы.

Это свойство доступно только для чтения.

Статус удаления, возвращенный как логическое значение включения/выключения типа matlab.lang.OnOffSwitchState.

MATLAB устанавливает BeingDeleted свойство к 'on' когда DeleteFcn коллбэк начинает выполняться. The BeingDeleted свойство остается установленным на 'on' пока объект компонента не перестанет существовать.

Проверьте значение BeingDeleted свойство, чтобы убедиться, что объект не будет удален до запроса или изменения.

Возможность стать текущим объектом, заданная как 'on' или 'off', или как числовое или логическое 1 (true) или 0 (false). Значение 'on' эквивалентно true, и 'off' эквивалентно false. Таким образом, можно использовать значение этого свойства как логическое значение. Значение сохранено в виде логического значения on/off типа matlab.lang.OnOffSwitchState.

  • 'on' - Устанавливает текущий объект на UIControl когда пользователь кликает компонент в работающем приложении. Оба CurrentObject свойство Figure и gco функция возвращает UIControl как текущий объект.

  • 'off' - Устанавливает текущий объект как ближайший предок UIControl чьи HitTest является 'on' когда пользователь кликает компонент в запущенном приложении.

Родитель/ребенок

расширить все

Родительский объект, заданный как Figure, Panel, ButtonGroup, или Tab объект. Используйте это свойство, чтобы задать родительский контейнер при создании компонента пользовательского интерфейса или переместить существующий компонент пользовательского интерфейса в другой родительский контейнер.

UIControl children, возвращается как пустой массив. UIControl у объектов нет дочерних элементов. Установка этого свойства не имеет никакого эффекта.

Видимость UIControl указатель, заданный как 'on', 'callback', или 'off'.

Это свойство контролирует видимость UIControl ручка в родительский список детей. Когда указатель не отображается в его родительский список дочерних элементов, он не возвращается с помощью функций, которые получают указатели, просматривая иерархию объектов или запрашивая свойства указателя. Эти функции включают get, findobj, gca, gcf, gco, newplot, cla, clf, и close. The HandleVisibility свойство также контролирует видимость указателя на объект в родительском рисунке CurrentObject свойство. Указатели все еще действительны, даже если они не видны. Если вы знаете указатель на объект, можно задать и получить его свойства и передать его любой функции, которая работает с указателями.

Значение HandleVisibilityОписание
'on'The UIControl указатель всегда отображается.
'callback'The UIControl указатель виден из коллбэков или функций, вызываемых коллбэками, но не из функций, инициируемых из командной строки. Эта опция блокирует доступ к UIControl в командной строке, но позволяет функциям обратного вызова обращаться к нему.
'off'The UIControl указатель всегда невидим. Эта опция используется для предотвращения непреднамеренных изменений пользовательского интерфейса другой функцией. Установите HandleVisibility на 'off' временно скрыть указатель во время выполнения этой функции.

Установите корень графики ShowHiddenHandles свойство к 'on' сделать все указатели видимыми, независимо от их HandleVisibility значение. Эта настройка не влияет на их HandleVisibility значения.

Примечание

Не пытайтесь получить доступ к переключателям и кнопкам-переключателям, которые управляются uibuttongroup вне группы кнопок. Установите HandleVisibility из этих переключателей и кнопок-переключателей для 'off' для предотвращения случайного доступа.

Идентификаторы

расширить все

Это свойство доступно только для чтения.

Тип графического объекта, возвращенный как 'uicontrol'.

Идентификатор объекта, заданный как вектор символов или строковый скаляр. Можно задать уникальное Tag значение, которое служит идентификатором для объекта. Когда вам нужен доступ к объекту в другом месте вашего кода, вы можете использовать findobj функция для поиска объекта на основе Tag значение.

Пользовательские данные, заданные как любой массив. Определение UserData может быть полезным для обмена данными в приложениях См. Раздел «Обмен данными между коллбэками» для получения дополнительной информации.

Вопросы совместимости

расширить все

Не рекомендуемый запуск в R2020a

Представлено до R2006a