ToolbarStateButton Properties

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

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

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

Кнопка

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

Значок кнопки, заданный как одно из этих значений:

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

  • Массив — Задает m n 3 массивами триплетов RGB.

  • Матрица — Задает матрицу m на n числовых значений.

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

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

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

    Имя значкаРезультат
    кисть

    'datacursor'

    вращение

    панорамирование

    'zoomin'

    'zoomout'

    'restoreview'

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

Пример: btn. Значок = 'icon.png'

Пример: btn. Значок = 'C:\Documents\icon.png'

Пример: btn. Значок = 'вращает'

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

Пример: btn. Подсказка = 'Моя Подсказка'

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

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

  • 'on' — Отображать объект.

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

Обратные вызовы

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

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

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

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

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

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

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

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

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

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

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

  • Вектор со строкой символов, являющийся действительной командой или функцией MATLAB, которая оценивается в базовом рабочем пространстве (не рекомендуется)

Используйте это свойство для выполнения кода при создании объекта. MATLAB выполняет обратный вызов после создания объекта и настройки всех его свойств. Установка значения свойства CreateFcn не влияет на существующий объект . Для того, чтобы действие было эффективным, вам необходимо задать свойство CreateFcn во время создания объекта. Один из способов задать свойство во время создания объекта — задать значение свойства по умолчанию для объекта. Для получения дополнительной информации см. Раздел "Значения свойств по умолчанию".

Если вы задаете данный обратный вызов с помощью указателя на функцию, MATLAB передает два аргумента в функцию обратного вызова при выполнении обратного вызова:

  • Созданный объект — свойства Access объекта из функции обратного вызова. Также можно получить доступ к объекту через свойство CallbackObject графического корневого объекта, который может быть запрошен с помощью функции gcbo.

  • Данные о событиях — Пустой аргумент. Замените его на символ тильды (~) в функциональном определении, чтобы указать, что этот аргумент не используется.

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

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

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

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

  • Вектор со строкой символов, являющийся действительной командой или функцией MATLAB, которая оценивается в базовом рабочем пространстве (не рекомендуется)

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

Если вы задаете данный обратный вызов с помощью указателя на функцию, MATLAB передает два аргумента в функцию обратного вызова при выполнении обратного вызова:

  • Удаленный объект — свойства Access объекта из функции обратного вызова. Также можно получить доступ к объекту через свойство CallbackObject графического корневого объекта, который может быть запрошен с помощью функции gcbo.

  • Данные о событиях — Пустой аргумент. Замените его на символ тильды (~) в функциональном определении, чтобы указать, что этот аргумент не используется.

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

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

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

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

Примечание

Рассмотрите эти состояния обратного вызова где:

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

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

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

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

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

  • 'off' — Не прерывать. MATLAB завершает выполнение обратного вызова без каких-либо прерываний.

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

Рассмотрите эти состояния обратного вызова где:

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

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

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

Если обратный вызов объекта ToolbarStateButton пытается прервать рабочий обратный вызов, который не может быть прерван, то свойство BusyAction определяет, отбрасывается ли это или вставило очередь. Задайте свойство BusyAction как одно из следующих значений:

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

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

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

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

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

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

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

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

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

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

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

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

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

Если объект не указан в свойстве Children родителя, то функции, которые получают указатели на объекты путем поиска иерархии объектов или запросов свойств указателя, не могут вернуть его. Примеры таких функций включают получать, findobj, gca, gcf, gco, newplot, cla, clf, и близко функционирует.

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

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

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

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

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

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

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

Пример: 'Данные в январе'

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

Чтобы связать несколько наборов данных или прикрепить имя поля к данным, используйте функции getappdata и setappdata.

Пример: 1:100

Unused Properties

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

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

Примечание

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

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

Примечание

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

Представленный в R2018b

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