# TextButton

рус.: Кнопка с надписью

Компонент TextButton предназначен для передачи логического значения (true/false) другим компонентам, также может быть использован для индикации. Когда NPCTextButton меняет состояние с "нажата" на "не нажата" передается значение "false", когда меняет состояние с "не нажата" на "нажата" передает "true".

## Пример использования

Предыдущий компонент NPCFaceLabel

Откроем проект "lessons". В прошлый раз мы создали конфигурацию, в которой на экран монитора выводилось окно с тремя надписями: "Операнд А", "Операнд В", и "Результат".

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

Добавим класс компонент TextButton и отредактируем его свойства. Для того чтобы отредактировать свойства класса, надо нажать на кнопку "Классы", найти нужный класс компонентов и дважды нажать на нем левой кнопкой мыши.

Перейдем на вкладку "Свойства".

Отредактируем свойства класса: FontSize - 12; SizeHeight - 20; SizeWidth - 120; TexfOff - "0"; TextOn - "1";

Теперь у всех экземпляров класса TextButton будут установлены значения: размер шрифта - 12 пикселей, высота кнопки - 20 пикселей, ширина кнопки - 120 пикселей. Когда кнопка нажата на ней будет надпись "1", когда не нажата - "0".

Добавим три экземпляра класса TextButton.

Добавим компоненты TextButton, TextButton_1 и TextButton_2 на вкладку, расставих галочки в полях рядом с соответствующими компонентами.

Расположим компоненты так, чтобы было удобнее с ними работать.

Теперь создадим связь для визуальных компонентов. Так как кнопка визуальный компонент, то создаем связи от компонента "Контейнер для представлений" к компонентам TextButton, TextButton_1 и TextButton_2. Для этого дважды нажимаем правой кнопкой мыши на компоненте "Контейнер для представлений", после этого должна появиться стрелочка, которая будет следовать за курсором мыши. Нажмем левой кнопкой мыши на компоненте, к которому хоитим провести связь. Делаем так для всех трех компонентов (TextButton, TextButton_1 и TextButton_2).

Отредактируем свойства компонентов TextButton, TextButton_1 и TextButton_2.

TextButton: PositionX - 90; PositionY - 100;

TextButton_1: PositionX - 320; PositionY - 100;

TextButton_2: PositionX - 550; PositionY - 100;

Зададим логику работы конфигурации. Для этого нужно создать связи, которые будут отвечать за взаимодействия между кнопками. Когда TextButton или TextButton_1 будут нажиматься, то TextButton_2 тоже будет менять статус на "Нажата". Когда TextButton или TextButton_1 будут менять состояние на "Не нажата", то и TextButton_2 будет менять статус на "Не нажата".

Для создания связи от компонента TextButton к компоненту TextButton_2, нажмем дважды правой кнопкой мыши на TextButton, после этого должна появиться стрелочка от TextButton, следующая за курсором мыши. Затем нажмем левой кнопкой мыши на компоненте TextButton_2. Появится окно "Связывание", так как возможны несколько видов связи.

В левом списке выбираем "Связь для управления эффектором", а в правом - "Управление кнопкой от другого компонента". Для подтверждения выбора нажимаем кнопку "Создать связь".

Важно! Даже если в одном из списков при выборе вида связи находится только один компонент, его тоже надо выбирать нажатием левой кнопки.

Создадим связь такого же типа от компонента TextButton_1 к компоненту TextButton_2.

Сохраним проект.

Запустим конфигурацию нажиматием кнопки F9.

На экране монитора появится окно с тремя надписями и тремя кнопками. Если нажать на первую или вторую кнопку, то третья поменяет свое состоянии вместе с ней.

При нажатии на первую или вторую кнопку по связи передается значение согласно статусу кнопки (true/false) и третья кнопка меняет свое состояние на соответствующее.

Следующий компонент PredicateAnd

Подробнее о компоненте TextButton ▼ | Распечатать

## Связи

### Входящие связи

In
  Входящая связь со всех возможных сенсоров или эффекторов, допускает управление кнопкой от другого компонента. Управляющий сигнал передается по всем исходящим связям, если он не дублирует текущее состояние.
InComponent
  Связь с компонентом "Алгоритм".
InE
  Входящая связь допускает управление кнопкой от другого компонента, либо получение текущего состояния. Управляющий сигнал передается по всем исходящим связям, если он не дублирует текущее состояние
InEnable
  Связь отвечает за доступность компонента (доступен/не доступен).
InFaceComponent
  Связь от контейнера для представлений.
InGetButton
  Связь с компонентом группа кнопок.
InS
  Входящая связь для получения текущего состояния.
InUniversal
  Входящая связь допускает управление кнопкой от другого компонента, либо получение текущего состояния. Управляющий сигнал передается по всем исходящим связям, если он не дублирует текущее состояние.
InVisibility
  Входящая связь допускает изменение видимости компонента.

### Исходящие связи

Out
  Исходящая связь для управления сенсорами
OutE
  Исходящая связь для управления эффекторами
OutUniversal
  Исходящая связь для передачи универсального типа

## Свойства

AlignMessage
  Выравнивание текста внутри кнопки. Значение: по левому краю/по правому краю/по центру/по ширине.
BackgroundColorOff
  Цвет не нажатой кнопки. Значение: выбирается из палитр RGB, HSB.
BackgroundColorOn
  Цвет нажатой кнопки. Значение: выбирается из палитр RGB, HSB.
FontName
  Шрифт надписи на кнопке. Значение: выбирается из списка(Напр.: Arial, Times new roman).
FontSize
  Размер шрифта
FontStyle
  Стиль начертания шрифта. Значение: обычный/курсив/жирный/жирный курсив
Icon
  Путь к изображения для кнопки. Значение: абсолютный путь к файлу с изображением (Напр.: C:\myImg.bmp).
PaintBorder
  Отображение рамки. Значение: логическое (true/false).
PaintFocus
  Отображение фокуса. Значение: логическое (true/false).
PositionX
  Расположение кнопки по горизонтали. Значение: целочисленное (Напр.: 32)
PositionY
  Расположение кнопки по вертикали. Значение: целочисленное (Напр.: 53)
PressedIcon
  Путь к изображению для нажатой кнопки. Значение: абсолютный путь к файлу с изображением (Напр.: C:\myImg.bmp).
Pushed
  Нажата ли кнопка по умолчани. Значение: логическое (true/false).
RolloverIcon
  Путь к изображению для кнопки, если на нее наведен указатель мыши. Значение: абсолютный путь к файлу с изображением (Напр.: C:\myImg.bmp).
RolloverSelectedIcon
  Путь к изображению для нажатой кнопки, если на нее наведен указатель мыши. Значение: абсолютный путь к файлу с изображением (Напр.: C:\myImg.bmp).
SelectedIcon
  Путь к изображения для нажатой кнопки. Значение: абсолютный путь к файлу с изображением (Напр.: C:\myImg.bmp).
SizeHeight
  Высота кнопки. Значение: целочисленное (Напр.: 50).
SizeWidth
  Ширина кнопки. Значение: целочисленное (Напр.: 150).
TextColorOff
  Цвет текста на кнопке. Значение: выбирается из палитр RGB, HSB.
TextColorOn
  Цвет текста на нажатой кнопке. Значение: выбирается из палитр RGB, HSB.
TextOff
  Текст на кнопке. Значение.: Символьное (Напр.: "Кран 1").
TextOn
  Текст на нажатой кнопке. Значение.: Символьное (Напр.: "Кран 1 - включен").

Последнее изменение: 20.01.2009