UIControl Properties

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

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

Примечание

Создание UIControl объекты не поддерживаются в App Designer или в приложениях, созданных с помощью uifigure функция. Вместо этого для списка доступных компонентов в этих контекстах смотрите Компоненты App Building.

Например, этот код создает кнопку, theUIControl хранилищ возразите как b, и затем устанавливает Position свойство с помощью записи через точку.

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'

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример

Этот ползунок имеет область значений Max min= 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'

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


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


Массив строк


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

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

Sample of the color red

'green''g'[0 1 0]'#00FF00'

Sample of the color green

'blue''b'[0 0 1]'#0000FF'

Sample of the color blue

'cyan' 'c'[0 1 1]'#00FFFF'

Sample of the color cyan

'magenta''m'[1 0 1]'#FF00FF'

Sample of the color magenta

'yellow''y'[1 1 0]'#FFFF00'

Sample of the color yellow

'black''k'[0 0 0]'#000000'

Sample of the color black

'white''w'[1 1 1]'#FFFFFF'

Sample of the color white

Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешний вид
[0 0.4470 0.7410]'#0072BD'

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

Примечание

Если вы изменяете значение 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'

Sample of the color red

'green''g'[0 1 0]'#00FF00'

Sample of the color green

'blue''b'[0 0 1]'#0000FF'

Sample of the color blue

'cyan' 'c'[0 1 1]'#00FFFF'

Sample of the color cyan

'magenta''m'[1 0 1]'#FF00FF'

Sample of the color magenta

'yellow''y'[1 1 0]'#FFFF00'

Sample of the color yellow

'black''k'[0 0 0]'#000000'

Sample of the color black

'white''w'[1 1 1]'#FFFFFF'

Sample of the color white

Вот являются триплеты RGB и шестнадцатеричные цветовые коды для цветов по умолчанию использованием MATLAB во многих типах графиков.

Триплет RGBШестнадцатеричный цветовой кодВнешний вид
[0 0.4470 0.7410]'#0072BD'

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]'#D95319'

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]'#EDB120'

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]'#7E2F8E'

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]'#77AC30'

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]'#4DBEEE'

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]'#A2142F'

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

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

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

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

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

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

Шрифт

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

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

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

Пример: 'Arial'

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

Пример: 12

Пример: 12.5

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

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

  • 'bold' — Более толстые символьные основы, чем нормальный

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® и системы Макинтоша:

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

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

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

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

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

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

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

  • '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 объект создал использование uicontextmenu функция. Используйте это свойство отобразить контекстное меню, когда вы щелкнете правой кнопкой по компоненту.

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

Примечание

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

Примечание

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

Примечание

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

Положение

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

Местоположение и размер в виде четырехэлементного вектора из формы [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 свойство.

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

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

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

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

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

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

Для String значение, которое является одной строкой текста, элементом высоты Extent свойство указывает на высоту одной строки. Элемент ширины указывает на ширину самой длинной линии, даже если текст переносится, когда отображено на управлении. Для нескольких линий текста, Extent прямоугольник охватывает все линии текста. Доступные для редактирования текстовые поля рассматриваются мультилинией если Max min> 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 'callback'. Если вы не задаете CreateFcn свойство, затем MATLAB выполняет функцию создания по умолчанию.

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

Установка CreateFcn свойство на существующем объекте компонента не оказывает влияния.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Родительский объект в виде FigureПанельГруппа кнопок, или 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 указатель невидим в любом случае. Эта опция предназначена для предотвращения непреднамеренных изменений в пользовательском интерфейсе другой функцией. Установите HandleVisibility к 'off' временно скрыть указатель во время выполнения этой функции.

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

Примечание

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

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

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

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

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

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

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

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

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

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

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