ToolbarStateButton Properties

Панель инструментов осей утверждает внешний вид и поведение кнопки

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

tb = axtoolbar('default')
btn = axtoolbarbtn(tb,'state')
btn.Tooltip = 'My State Button';

Кнопка

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

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

  • Имя файла — Задает имя файла как вектор символов или скаляр строки. Имени файла может предшествовать путь. Файл изображения должен быть в JPEG, GIF или формате PNG.

  • Массив — Задает m n 3 массивами триплетов RGB, которые представляют пиксели в изображении.

  • Матрица — Задает матрицу m на n числовых значений, которые представляют пиксели в изображении.

    • Если значения имеют целочисленный тип, то задают значения между 0 и 63. Значение 0 непрозрачно и значение 63 прозрачно. NaN также прозрачно.

    • Если значения имеют тип double, затем задайте значения между 1 и 64. Значение 1 непрозрачно и значение 64 прозрачно. NaN также прозрачно.

  • Предопределенный значок — Задает одно из имен в этой таблице.

    Имя значкаРезультат
    'brush'

    'datacursor'

    'export'

    'rotate'

    'pan'

    'zoomin'

    'zoomout'

    'restoreview'

    'none'Никакой значок

Пример: btn.Icon = 'icon.png'

Пример: btn.Icon = 'C:\Documents\icon.png'

Пример: btn.Icon = 'rotate'

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

Пример: btn.Tooltip = 'My Tooltip'

Текущее состояние кнопки, заданной как 'on' (нажатый) или 'off' (подавленный).

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

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

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

Коллбэки

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

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

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

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

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

Этот коллбэк выполняется, когда вы нажимаете кнопку состояния. Это не выполняется если кнопка Value состояния свойство изменяется программно.

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

Поле Описание
SourceStateButton объект
AxesСвязанный Axes объект
EventName'ValueChanged'
ValueТекущее значение (любой 'on' или 'off')
PreviousValueПредыдущее значение (любой 'on' или 'off')

Функция создания объекта, заданная как одно из этих значений:

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

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

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

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

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

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

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

Функция удаления объекта, заданная как одно из этих значений:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Родительский контейнер, заданный как AxesToolbar объект.

Этот объект не имеет никаких дочерних элементов. Вы не можете задать это свойство.

Видимость указателя на объект в Children свойство родительского элемента, заданного как одно из этих значений:

  • 'on' — Указатель на объект всегда отображается.

  • 'off' — Указатель на объект невидим в любом случае. Эта опция полезна для предотвращения непреднамеренных изменений другой функцией. Установите HandleVisibility к 'off' временно скрыть указатель во время выполнения этой функции.

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

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

Скрытые указатели на объекты все еще действительны. Установите корневой ShowHiddenHandles свойство к 'on' перечислять все указатели на объект независимо от их HandleVisibility установка свойства.

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

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

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

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

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

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

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

Unused Properties

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

Контекстное меню, заданное как ContextMenu объект.

Примечание

Кнопка не использует это свойство.

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

Примечание

Кнопка не использует это свойство.

Введенный в R2018b

Для просмотра документации необходимо авторизоваться на сайте