Добавление подписи в бордюр

<< Click to Display Table of Contents >>

Navigation:  Проект > Элементы дерева объектов > Палитра ФБ > Служебные > Скрипт > Руководство и примеры > Работа с трендами >

Добавление подписи в бордюр

Тренд имеет специальное обрамление вокруг графической области - бордюр.

sluzhebnie_skript_rukovodstvo_i_primery_rabota_s_trendami_dobavlenie_podpisi_v_bordyur

У бордюра есть настройка - Подпись, текст из нее размещается в верхней части бордюра.

sluzhebnie_skript_rukovodstvo_i_primery_rabota_s_trendami_dobavlenie_podpisi_v_bordyur1

Данную подпись можно использовать например для индикации текущего режима работы установки. Сделаем чтобы в данную подпись выдавался текст из скрипта.

Сделаем заготовку - скрипт можно взять из прошлого шага, разместим тренд, кнопку Применить и команду для ввода строки.

sluzhebnie_skript_rukovodstvo_i_primery_rabota_s_trendami_dobavlenie_podpisi_v_bordyur2

Теперь перейдем к коду.

У нас уже готова часть для обращение к тренду, поэтому наша задача решается буквально в одну строку. Чтобы изменить или получить подпись бордюра нужно использовать свойство trend.Settings.Border.Caption.

trend.Settings.Border.Caption = Текст;

Итоговый код будет выглядеть так:

public override void Execute()
{
 if (Применить == true && M == false)
 {
  //Ссылка на текущий проект       
  var Project = HostFB.TreeItemHlp.Project;
  //получаем корневой объект
  var ParentObject = (ITreeItemHlp)HostFB.TreeItemHlp.Parent;
  //получаем тренд        
  RTManager.Instance.ThreadHolder.BeginInvoke(new ThreadStart(delegate
  {
   foreach (Trend trend in Project.GetService<TrendService>().Opened)
   {
    var host = trend.Host as System.Windows.Forms.Control;
    if (host != null)
    {
     Object name = WinFormsControlBase.GetAmbientProperty(host, WindowlessControlBase.DISPID.DISPID_AMBIENT_NAME);
     if (name.ToString() != ИМЯ_ТРЕНДА || trend.Attribute.TreeItem.ID != ParentObject.ID || trend.Attribute.DisplayName != ИМЯ_ОКНА) continue;
     trend.Settings.Border.Caption = Текст;
     break;
    }
   }
  }));
 }
 M = Применить;
}

Готовый пример доступен по ссылке.