# IndexImage

рус.: Индексная картинка

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

## Связи

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

InEnable
  Связь для упраление состоянием (включени/выключен) компонента.
InFaceComponent
  Связь от контейнера для представлений.
InVisibility
  Связь для управления видимостью компонента.
IndexControl
  Связь от компонента IndexControl.

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

OutFaceComponent
  Определение
OutIndexControl
  Связь к компоненту IndexControl

## Свойства

ImageFile
  Абсолютный путь к файлу с изображением. Значение: строка (Напр: "D:\sample.gif").
IndexImageFile
  Абсолютный путь к файлу с изображением карты. Значение: строка (Напр: "D:\sampleMap.gif").

Карта - изображение с окрашенными в разные цвета областями.

PositionX
  Горизонтальное расположение изображения. Значение: целочисленное (Напр.: 520).
PositionY
  Вертикальное расположение изображения. Значение: целочисленное (Напр.: 160).
SizeHeight
  Высота изображения. Значение: целочисленное (Напр.: 240).
SizeWidth
  Ширина изображения. Значение: целочисленное (Напр.: 320).

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

Создадим конфигурацию, в которой будет отображаться вак с водой, при нажатии на кнопку 1("Нагрев") границы бака будут менять цвет с синего на красный. Если нажать на уровень воды в баке, то он поменяет цвет с синего на красный и кнопка № 2 изменит свое состояние.

Для конфигурации нам понадобятся компоненты: NPCFaceContainer, NPCTextButton (2 компонента), IndexImage и IndexControl.

Изображение бака, Карта изображения бака

Свяжем все визуальные компоненты. Создадим связи от компонента NPCFaceContainer к компонентам TextButton и IndexImage.

Чтобы управлять изображением в IndexImage от кнопки TextButton, надо создать связь от управляющего компонента (TextButton) к компоненту IndexControl, а от компонента IndexControl к компоненту IndexImage (тип связи: "Связь для индексной картинки").

Чтобы получать данные от компонента IndexImage (о нажатиях в различных областях изображения), создадим связь (тип связи: "Управление кнопкой от другого компонента") от компонента IndexImage к компоненту IndexControl. А чтобы передавать данные к сторонним индикаторам (Кнопкам, надписям, эффекторам), создадим связь от компонента IndexControl к компоненту TextButton_1 (компонент TextButton_1 в данной конфигурации будет выполнять функции устройства индикации).

Все связи созданы, отредактируем свойства компонентов IndexImage: ImageFile - путь к файлу с изображение; ImageIndexFile - путь к файлу с изображением карты; PositionX - 130; PositionY - 60: SizeWidth - 400; SizeHeight - 400;

IndexControl: IndexProperties - это не обычное свойство с одним указанным значением. У него есть собственная панель управления свйоствами.

События от компонентов.От какого объекта - TextButton; Параметр - true; Что делать с собой - "Изменить цвет FF0000"; Параметр - FF00DE (контур бака)

События от пользователей. Какое событие происходит - "Одиночный клик мышью"; В какой области - 00FF2A (Зеленая область внизу бака); Что делать с собой - "Изменить цвет FF0000"; Какому объекту передать значение - TextButton_1; Параметр - true;

TextButton: PositionX - 130; PositionY - 480; SizeHeight - 40; SizeWidth - 400; TextOn - "Нагрев"; TextOff - "Нагрев";

TextButton_1: PositionX - 130; PositionY - ; SizeHeight - 40; SizeWidth - 400; TextOn - "Нагревается"; TextOff - "";

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

Мы собрали конфигурацию, в которой рассмотрены два типа управления индексным изображением: управление от внешнего компонента и управление с самой картинки. Если нажать на кнопку "Нагрев", то контур бака станет красным, а если нажать на уровень воды в баке, уровень станет красным, и кнопка № 2 (Text_button_1) изменит свое состояние, на ней отобразится надпись - "Нагревается".

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