Оператор визуализации TreeView

Оператор предназначен для графического отображения дерева. Контроль над внешним видом и поведением осуществляется следующими командами:

 

  1. Создание визуального объекта:

 

TreeView(i):

  "Assign" = TreeID{, LinesColor <Color> |

    <R>, <G>, <B>, Font <FontName$>{, <FontSize>}, 

  GrCol(<Color> | <R>, <G>, <B> |

    <StartR>, <StartG>, <StartB>, <EndR>, <EndG>, <EndB>{, <GradType>}), 

  Images(Image1Name${, Image2Name$,...}), ImageIndex = <FldName$>,

  "RowSelect" = 1 | 0, 

  "CapFld" = <CaptionFldName$>, 

  "Left" = X, "Top" = Y, "Width" = DX, "Height" = DY, 

  "Columns": "Main" = <MainCaption$>{, <ColumnWidth>},

    "Field1" = <Fld1Caption>{, <ColumnWidth>}, 

    "Field2" = <Fld2Caption>{, <ColumnWidth>}, ...}

 

  • Left, Top, Width, Height – размеры объекта в пикселах
  • TreeID – дерево, с которым связывается данный визуальный объект
  • LinesColor – цвет линий соединяющих элементы
  • "RowSelect" – 1 – будет выделятся вся строка
  • "CapFld" – позволяет указать, из какого поля рекорда будет получен заголовок элемента дерева. Поле должно быть строкового типа (string)
  • ImageIndex – позволяет указать, из какого поля рекорда будет получен индекс иконки. Поле должно быть целочисленного типа (integer)
  • Font – установка шрифта. <FontSize> – числовое выражение
  • GrCol(<Color> | <R>, <G>, <B> | <StartR>, <StartG>, <StartB>, <EndR>, <EndG>, <EndB>{, <GradType>}) – цвет и тип заливки.
  • <StartR>, <StartG>, <StartB> – начальные значения интенсивности красного, зеленого, синего цветов (в диапазоне 0..255);
  • <EndR>, <EndG>, <EndB> – конечные значения интенсивности красного, зеленого, синего цветов (в диапазоне 0..255);
  • <GradType> – допустимые значения типов от 1 до 5.
  1. горизонтальный градиент
  2. вертикальный градиент
  3. горизонтальная волна
  4. градиентная рамка
  5. горизонтальные линии
  • Images(Image1Name${, Image2Name$,...}) – список иконок, которые будут отображаться в элементах дерева. Image1Name$ – строковое выражение указывающее на один из входящих в проект Bmp-файлов. Требования к изображению: не менее 16х16 пикселей
  • "Columns" – позволяет указать какие поля рекорда будут отображаться в дополнительных колонках
  • "Main" = <MainCaption$> – задает заголовок для первой колонки (секции) в которой отображется дерево
  • "Field1" = <Fld1Caption$>,.. – задает заголовки колонок для соответствующих полей. Если поле есть в рекорде связанном с деревом, но не указано в списке, оно не будет отображаться
  • <ColumnWidth> – ширина колонки, числовое выражение

 

Примечание: Параметр "Columns" должен располагаться в конце команды.

 

 

  1. Команда входа в интерактивный режим:

 

TreeView(i): "Aсtivate"

  {, "Left" = X, "Top" = Y, "Width" = DX, "Height" = DY,

     Font <FontName$>{, <FontSize>}, "Selected" = NodeID, 

     "Expand" = "All" | NodeID, "Select" = 0, "Collapse" = "All" |

        NodeID, TrackSelected I Callback <имя подпрограммы$>}

 

  • Left, Top, Width, Height – размеры объекта в пикселах
  • "Select" – По умолчанию TreeView работает в режиме выбора, т.е при нажатии клавиши ENTER или указания элемента при помощи двойного клика мыши будет выбран текущий элемент в дереве. При значении 0 дерево будет работать в режиме просмотра, выход по нажатии клавиши ESC.
  • "Selected" – выбранный элемент. Гарантировано будет виден
  • "Expand" – дерево будет отображаться развернутым
  • "Collapse" – дерево будет отображаться свернутым
  • TrackSelected – выход из интерактива при изменении текущего поля
  • Callback – указанная подпрограмма будет вызываться при изменении текущего поля. Подробнее...

 

 

  1. Команда отрисовки объекта без интерактива:

 

TreeView(i): "Draw"

  {, "Left" = X, "Top" = Y, "Width" = DX, "Height" = DY,

     Font <FontName$>{, <FontSize>}, "Selected" = NodeID, 

     "Expand" = "All" | NodeID, "Collapse" = "All" | NodeID}

 

  • Left, Top, Width, Height – размеры объекта в пикселах
  • "Selected" – выбранный элемент. Гарантировано будет виден
  • "Expand" – дерево будет отображаться развернутым
  • "Collapse" – дерево будет отображаться свернутым

 

 

  1. Уничтожение объекта:

 

TreeView(i): "Destroy"

 

Подсистема Tree