JS+
Усиленный язык сценариев для Windows
с возможностью встраивания
в ваши приложения
О языке JS+ Справочник Скачать JS+ DLL
Контакты
СПРАВОЧНИК ПО ЯЗЫКУ JS+ Содержание

TGauge

- визуальный компонент
Компоненты JS+
Определяет динамический индикатор различных типов.

Создание объекта

gauObj=new TGauge(Parent);

Собственные свойства
Свойство Тип Описание
BackColor TColor фоновый цвет индикатора
ForeColor TColor активный цвет индикатора (по умолчанию clHotLight)
Kind Enum тип индикатора (см. ниже)
MaxValue Number максимальное значение индикатора (по умолчанию 0)
MinValue Number минимальное значение индикатора (по умолчанию 100)
Progress Number текущее значение индикатора
ShowText Boolean показывать текстовое значение индикатора
Только чтение
Canvas TCanvas дескриптор графической канвы
PercentDone Number текущее значение индикатора в процентах от диапазона свойств [MinValue ... MaxValue]

Свойство Kind
Значение Описание
gkHorizontalBar горизонтальная полоса
gkNeedle хорда полукруга
gkPie сектор круга
gkText текстовая строка
gkVerticalBar вертикальная полоса

Стандартные свойства

Собственные методы
Метод Описание
AddProgress увеличивает текущее значение индикатора на указанную величину

Стандартные методы

Стандартные события

Пример (JS+)
var tmr_Busy=false;

// Главная форма
frm=new TForm();
frm.Caption="JS+ - визуальный компонент TGauge";
frm.Width =525;
frm.Height=375;

// Строка состояния
stb=new TStatusBar(frm);
stb.SimpleText=' Нажмите кнопку "Старт"';

// Кнопка
btn=new TButton(frm);
btn.Caption="Старт";
btn.Left=frm.ClientWidth-btn.Width-10;
btn.Top =stb.Top-btn.Height-10;
btn.OnClick=btn_Click;

// Панель закладок
pgc=new TPageControl(frm);
pgc.SetBounds(10,10,frm.ClientWidth-20,btn.Top-20);

for (i=0;i<5;i++) {
  // Закладка
  tsh=new TTabSheet(pgc);

  // Индикатор на закладке
  gau=tsh.cmpTag=new TGauge(tsh);
  gau.BorderStyle=bsNone;
  gau.ShowText=true;

  switch (i) {
    case 0: tsh.Caption="HorizontalBar";
            gau.Kind=gkHorizontalBar;
            gau.Width =tsh.ClientWidth-30;
            gau.Height=tsh.TextHeight("0")+8;
            gau.Left=(tsh.ClientWidth -gau.Width )/2;
            gau.Top =(tsh.ClientHeight-gau.Height)/2;
            gau.BorderStyle=bsSingle;
            break;

    case 1: tsh.Caption="Needle";
            gau.Kind=gkNeedle;
            gau.Width =tsh.ClientHeight-30;
            gau.Height=gau.Width/2;
            gau.Left=(tsh.ClientWidth -gau.Width )/2;
            gau.Top =(tsh.ClientHeight-gau.Height)/2;
            break;

    case 2: tsh.Caption="Pie";
            gau.Kind=gkPie;
            gau.Width=gau.Height=tsh.ClientHeight-30;
            gau.Left=(tsh.ClientWidth-gau.Width)/2;
            gau.Top =15;
            break;

    case 3: tsh.Caption="Text";
            gau.Kind=gkText;
            gau.Width =tsh.TextWidth("100%")*2;
            gau.Height=tsh.TextHeight("0")+8;
            gau.Left=(tsh.ClientWidth -gau.Width )/2;
            gau.Top =(tsh.ClientHeight-gau.Height)/2;
            gau.BorderStyle=bsSingle;
            break;

    case 4: tsh.Caption="VerticalBar";
            gau.Kind=gkVerticalBar;
            gau.Width =tsh.TextWidth("100%")+8;
            gau.Height=tsh.ClientHeight-30;
            gau.Left=(tsh.ClientWidth -gau.Width )/2;
            gau.Top =(tsh.ClientHeight-gau.Height)/2;
            gau.BorderStyle=bsSingle;
  }
}

// Таймер
tmr=new TTimer(frm);
tmr.Interval=50;
tmr.OnTimer=tmr_Timer;

frm.ShowModal();

// Обработчик события OnClick
function btn_Click(btn)
{
  var stb_Str=' Нажмите кнопку "';

  switch (btn.numTag=1-btn.numTag) {
    case 0: btn.Caption="Старт";
            tmr.Enabled=false;
            break;

    case 1: btn.Caption="Стоп";
            tmr.Enabled=true;
  }

  stb.SimpleText=stb_Str+btn.Caption+'"';
}

// Обработчик события OnTimer
function tmr_Timer(tmr)
{
  if (tmr_Busy)
    return;
  tmr_Busy=true;

  var gau=pgc.Pages[pgc.ActivePageIndex].cmpTag;

  switch (gau.Progress) {
    case gau.MinValue: gau.numTag= 1; Sleep(200); break;
    case gau.MaxValue: gau.numTag=-1; Sleep(200);
  }

  gau.Progress+=gau.numTag;
  tmr_Busy=false;
}
Совместимость
C++ Builder/Delphi
См. также
JS+Руководство пользователя
Адрес этой страницы: http://jsplus.ru/MANUAL/JSPlus/Component/TGauge.htm
© 2024,