UIControl Properties

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

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

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

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

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

развернуть все

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

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

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

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

  • Подавленный: свойство Value равняется значению свойства Max.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

'slider'Значение свойства Min является минимальным значением ползунка, которое должно быть меньше, чем значение свойства Max.
'listbox'Значение свойства 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]);

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

Примечание

Свойства String и Value могут заменить значение свойства ListboxTop независимо от значения ListboxTop, которое вы задаете. Значение ListboxTop может измениться в зависимости от значения других свойств UIControl. Например, явным образом установка свойства Value прокручивает список к тому значению.

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

Текст и моделирование

развернуть все

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

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

Символьный вектор


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


StringArray


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

'Option 1'


{'Option 1'}


"Option 1"


categorical({'Option 1'})

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

Символьный вектор


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


StringArray


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


Разграниченный каналом вектор - строка

'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 для поля списка, то использование MATLAB, которое окрашивает для всех элементов поля списка, за исключением в настоящее время выбранного элемента поля списка. Для выбранных пунктов 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'

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

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

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

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

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

Шрифт

развернуть все

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

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

Пример: 'Arial'

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

Пример: 12

Пример: 12.5

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

  • normal' — Насыщенность по умолчанию, определяемая конкретным видом шрифта

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

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

Примечание

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

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

Примечание

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

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

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

'pixels'.

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

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

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

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

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

развернуть все

Видимость управления пользовательским интерфейсом, заданная как 'on' или 'off'. Когда Visible является 'off', управление пользовательским интерфейсом не видимо, но можно запросить и установить его свойства.

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

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

  • 'on' – Управление пользовательским интерфейсом является операционным.

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

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

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

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

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

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

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

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

Примечание

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

Примечание

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

Примечание

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

Положение

развернуть все

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

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

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

Примечание

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

Изменение одного значения в радиус-векторе

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

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

    20    20    52    20

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

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

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

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

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

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

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

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

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

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

'pixels'.

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

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

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

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

'normalized'Эти модули нормированы относительно родительского контейнера. Нижний левый угол контейнера сопоставляет с (0,0), и верхний правый угол сопоставляет с (1,1).
'inches''inches'.
'centimeters''centimeters'.
'points''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.

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

Коллбэки

развернуть все

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Пользователь щелкает правой кнопкой по компоненту пользовательского интерфейса, и свойство Enable установлено в 'on'.

  • Пользователь щелкает правой кнопкой или щелкает левой кнопкой по компоненту пользовательского интерфейса, и свойство Enable установлено в 'off' или 'inactive'.

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

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

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

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

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

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

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

Свойство

Описание

Примеры:

a

=

Сдвиг

Shift-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

=

Сдвиг

Shift-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 оценивает это выражение в базовом рабочем пространстве.

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

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

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

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

развернуть все

Прерывание обратного вызова, обозначаемое как 'on' или 'off'. Свойство «Прерывание» определяет, можно ли прерывать выполняемый обратный вызов.

Существует два состояния обратного вызова:

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

Каждый раз, когда MATLAB вызывает обратный вызов, этот обратный вызов пытается прервать текущий обратный вызов (если он существует). Свойство «Прерывание» объекта, имеющего текущий обратный вызов, определяет, разрешено ли прерывание:

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

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

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

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

Примечание

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

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

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

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

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

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

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

  • Выполняемый обратный вызов — это актуальный на данный момент обратный вызов.

  • Прерывающий обратный вызов — это обратный вызов, который пытается прервать текущий обратный вызов.

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

  • 'queue' — поместите прерывающий обратный вызов в очередь вызовов, подлежащих обработке после завершения обратного вызова.

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

Каждый раз, когда MATLAB вызывает коллбэк, тот коллбэк всегда пытается прервать выполняющийся коллбэк. Свойство Interruptible объекта, коллбэк которого запускается, определяет, позволено ли прерывание. Если Interruptible установлен в:

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

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

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

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

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

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

Способность стать текущим объектом, заданным как 'on' или 'off':

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

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

Примечание

Используйте свойство Enable включить или отключить компонент.

Родительский элемент/Дочерний элемент

развернуть все

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

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

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

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

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

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

Примечание

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

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

развернуть все

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

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

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

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

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