UIControl Properties

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

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

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

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

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

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

Разработайте значениеОписание
КнопкаКнопка, которая, кажется, снижает, пока вы не отпускаете кнопку мыши.
Кнопка-переключательКнопка, которая может иметь два состояния: или подавленный. Состояние кнопки-переключателя изменяется каждый раз, когда вы кликаете по нему.
ФлажокФлажок, который может иметь два состояния: проверенный или неконтролируемый. Изменения состояния, когда пользователь кликает и отпускает кнопку мыши по нему.
ПереключательКнопка, которая может иметь два состояния: выбранный или невыбранный. Переключатели предназначаются, чтобы быть взаимоисключающими в группе связанных переключателей.
РедактированиеДоступное для редактирования текстовое поле.
ТекстПоле статического текста.
ПолзунокКнопка, что пользователь уходит горизонтальная или вертикальная панель. Положение кнопки указывает на значение в заданной области значений.
Поле спискаСписок элементов, из которых пользователь может выбрать один или несколько элементов. В отличие от всплывающих меню, поля списков не расширяются, когда кликнувшийся.
Всплывающее менюИзолированное меню, которое расширяется, чтобы отобразить список выбора, когда вы кликаете по нему. Когда это сворачивается, меню показывает текущий выбор.

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

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

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

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

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

Переключатель
  • Невыбранный: свойство Value изменяется на значение свойства Min.

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

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

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

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

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

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

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

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

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

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

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

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

Значение свойства стиляФорматы поддерживаемого массиваПримеры
Флажок
  • Символьный вектор

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

  • StringArray

'Item 1'
{'Item 1'}
"Item 1"
Редактирование
  • Символьный вектор

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

  • StringArray

'Default text'
{'Default text'}
"Default text"
Кнопка
  • Символьный вектор

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

  • StringArray

'Evaluate'
{'Evaluate'}
"Evaluate"
Переключатель
  • Символьный вектор

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

  • StringArray

'Round to nearest integer'
{'Round to nearest integer'}
"Round to nearest integer"
Текст
  • Символьный вектор

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

  • StringArray

'Enter values'
{'Enter values'}
"Enter values"
Кнопка-переключатель
  • Символьный вектор

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

  • StringArray

'Activate'
{'Activate'}
"Activate"
Поле списка
  • Символьный вектор

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

  • StringArray

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

'Red'
{'Red','Blue','Orange'}
["Red" "Blue" "Orange"]
'Red|Blue|Orange'
Всплывающее меню
  • Символьный вектор

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

  • StringArray

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

'Red'
{'Red','Blue','Orange'}
["Red" "Blue" "Orange"]
'Red|Blue|Orange'

Примечание

Некоторые важные характеристики свойства String:

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

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

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

  • Если вы программно заменяете содержимое стиля 'edit' uicontrol, курсор перемещается в начало текста.

  • Если вы хотите задать символ Unicode®, передайте десятичный код Unicode функции char. Например, ['Multiples of ' char(960)] отображается как Multiples of π.

Типы данных: char | ячейка | строка

Цвет текста, заданный как триплет RGB или один из перечисленных в таблице параметров цвета.

Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7]. Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.

ОпцияОписаниеЭквивалентный триплет RGB
'красный' или 'r'Красный[1 0 0]
'green' или 'g'Зеленый[0 1 0]
'blue' или 'b'Синий[0 0 1]
'yellow' или 'y'Желтый[1 1 0]
'пурпурный' или 'm'Пурпурный[1 0 1]
'голубой' или 'c'Голубой[0 1 1]
'white' или 'w'Белый[1 1 1]
'black' или 'k'Черный[0 0 0]

Примечание

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

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

Пример: B

Пример: 'blue'

Типы данных: удвойтесь | char

Цвет фона, заданный как триплет RGB или один из перечисленных в таблице параметров цвета.

Триплет RGB представляет собой трехэлементный вектор-строку, элементы которого определяют интенсивность красных, зеленых и синих компонентов цвета. Интенсивность должны быть в диапазоне [0,1]; например, [0,4 0,6 0,7]. Кроме того, вы можете задать имена некоторых простых цветов. В этой таблице перечислены варианты длинного и краткого наименований цветов и их эквивалентные значения RGB.

ОпцияОписаниеЭквивалентный триплет RGB
'красный' или 'r'Красный[1 0 0]
'green' или 'g'Зеленый[0 1 0]
'blue' или 'b'Синий[0 0 1]
'yellow' или 'y'Желтый[1 1 0]
'пурпурный' или 'm'Пурпурный[1 0 1]
'голубой' или 'c'Голубой[0 1 1]
'white' или 'w'Белый[1 1 1]
'black' или 'k'Черный[0 0 0]

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

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

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

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

Типы данных: удвойтесь | 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'Нормализованные значения для определения размера шрифта как часть высоты. Когда вы изменяете размер компонента UI, 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'.

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

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

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

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

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

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

Примечание

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

Примечание

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

Примечание

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

Положение

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

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

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

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

Примечание

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

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

Можно объединить запись через точку и индексацию массива когда это необходимо, чтобы изменить одно значение в векторе 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 | ячейка | char

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Свойство

Описание

Примеры:

a

=

Сдвиг

Shift-a

СимволСимвол, который отображается в результате нажатия клавиши или ключей. Символ может быть пустым или непечатным.A'='''A
ModifierМассив ячеек, содержащий имена одной или нескольких модифицирующих клавиш, которые нажимаются (такой как, Ctrl, Высокий звук, Сдвиг).{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, Высокий звук, Сдвиг, и несколько других ключей, не генерируют данные свойства Character.

Также можно запросить свойство CurrentCharacter фигуры определить, которые изображают нажатого пользователя.

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

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

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

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

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

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

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

Свойство

Описание

Примеры:

a

=

Сдвиг

Shift-a

Символ

Символьная интерпретация клавиши, которая была отпущена.

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, Высокий звук, Сдвиг, и несколько других ключей, не генерируют данные свойства 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, фигура, getframe, waitfor, или сделать паузу.

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

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

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

Примечание

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

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

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

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

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

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

Постановка в очередь обратного вызова, заданная как 'queue' (значение по умолчанию) или 'cancel'. The BusyAction property determines how MATLAB handles the execution of interrupting callbacks. There are two callback states to consider:

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

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

Свойство 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. Используйте это свойство задать родительский контейнер при создании компонента UI или переместить существующий компонент UI в различный родительский контейнер.

Дочерние элементы 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 невидим в любом случае. This option is useful for preventing unintended changes to the UI by another function. Set the HandleVisibility to 'off' to temporarily hide the handle during the execution of that function.

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

Примечание

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

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

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

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

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

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

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

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

Была ли эта тема полезной?