# label

### Funkce

Zobrazení libovolné ikony nebo textu. Objekt má pouze informační a dekorační význam. Nijak nepracuje s daty systému.

### Syntax

      label label_name;
        rem = string;
        bubble = string;
        owner = owner_name;
        position = integer, integer, integer, integer;
        win_disable = [ identifier, . . . ];
        win_title = string;
        blink = boolean_expression;
        blink_rate = identifier;
        icon = file_name;
        frame = integer;
        font = font_identifier, integer, style_identifier;
        text = string;
        font = font_identifier, integer, style_identifier;
        text = string;
        colors
          paper = color;
          ink = color;
          top_shadow = color;
          buttom_shadow = color;
        end_colors;
        blink_colors
          paper = color;
          ink = color;
          top_shadow = color;
          buttom_shadow = color;
        end_blink_colors;
      end_label;

### Specifické parametry přístroje

- blink
  Parametr uvádí logický výraz, jehož výsledek rozhoduje o tom, bude-li přístroj blikat -- tedy periodicky se překreslovat se střídavým použitím barevných sad colors a blink_colors. Po zastavení blikání se přístroj vždy vrátí do základní barevné sady colors.
- blink_rate
  Určuje frekvenci blikání přístroje uvedením jednoho z identifikátorů:
  slow - blikání s periodou 2 sekundy
  normal - blikání s periodou 1 sekunda
  quick - blikání s periodou 0.5 sekundy
- icon
  Je parametr obsahující jméno (případně i s cestou) souboru `*.ICO`. Jde o soubor, v němž je uložena buď ikona systému Control Web nebo ikona podle standardu systému Windows. Ikonu kompatibilní se systémem Control Web lze také vytvořit z libovolné bitmapy pomocí programu Prohlížeč obrázků. Nejsou-li zadány žádné parametry určující vzhled, zobrazí se přístroj ve standardní podobě:
- frame
  Určuje výšku 3D efektu rámečku. Pokud frame není zadán, zobrazí se ikona nebo text bez rámečku.
- font
  Parametr určuje font při vypisování textu. Má vždy tři parametry. První z nich font_identifier určuje typ písma (např. TIMES, SYSTEM, aj.), druhý určuje jeho velikost v tiskových bodech a třetí parametr style_identifier rozhoduje o tom, zda bude písmo normální (normal), tučné (bold) nebo skloněné (italic).
- text
  Obsahuje libovolný řetězec znaků, který bude zobrazován. Pokud nebude tento parametr zadán, zobrazí se implicitní nebo zadaná ikona.
- colors a blink_colors
  Seznam částí kresby přístroje, kterým lze měnit nastavení barvy:
  paper - pozadí tlačítka
  ink - písmo
  top_shadow - horní stín
  buttom_shadow - dolní stín

### Poznámka

Implicitní nastavení parametrů:

      position = 0, 0;
      frame = 0;

### Příklad

Příklad nastavení parametrů přístroje label:

      label
        owner = background;
        position = 120, 120;
        icon = round.ico;
      end_label;

### Nativní procedury přístroje label

    MoveTo( XPosition, YPosition : real )

Posunutí přístroje na pozici XPosition, YPosition. Velikosti hodnot x a y jsou v bodech obrazovky.

    Hide()

Skrytí viditelného přístroje.

    Show()

Zobrazení skrytého přístroje.

    ClearText()

Smazání veškerého textového obsahu přístroje.

    AddText( Text, Font_Name : string; Font_Height : real; Font_Type : string)

Přidání řádku textu k textovému obsahu přístroje.

    SetDimension()

Nastavení nového rozměru objektu po změně jeho textového obsahu. Voláním této procedury je nutno zakončit každý sled volání metody AddText. V rámci vykonávání procedury SetDimension je objekt v nové podobě vždy překreslen.

    SetTextColor( Red, Ggreen, Blue : real )

Nastavení nové barvy zobrazovaného textu. V rámci této metody je objekt překreslen s novou barvou textu.

    GetPosition( &XPosition, &YPosition : real )

Přečtení aktutální pozice objektu do datových elementů XPosition a YPosition.

    GetPosition( &XPosition, &YPosition, &WPosition, &DPosition : number )

Zjištění aktuální pozice a velikosti přístroje na obrazovce.

    Blink( BlinkingActive : boolean )

Zapnutí a vypnutí blikání. Voláním procedury Blink s parametrem BlinkingActive nastaveným na true začne přístroj blikat (tj. střídavě se překreslovat s použitím barevných sad colors a blink_colors). Blikání je možno zastavit voláním procedury Blink s parametrem BlinkingActive nastaveném na hodnotu false. Frekvence blikání je dána parametrem přístroje blink_rate.

    ToggleBlink()

Přepnutí vzhledu přístroje do alternativní sady barev, tedy z colors do blink_colors nebo naopak podle okamžitého stavu. Po zastavení blikání se přístroj vždy vrátí do standardní barevné sady bez ohledu na předchozí volání procedury ToggleBlink.

### Událostní procedury přístroje label

Přístroj může volat standardní událostní procedury:

    OnActivate()
    OnMouseDown( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean )
    OnMouseDoubleClick( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean )
    OnMouseUp( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean )
    OnMouseMove( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean )
    OnKeyDown( Character : cardinal )
    OnKeyRepeat( Character : cardinal )
    OnKeyUp( Character : cardinal )
    OnSelect()
    OnDeselect()
    OnShow()
    OnHide()
    OnNewPosition( RectX, RectY, RectW, RectD : integer )
    OnWindowMinimize()
    OnWindowMaximize()
    OnWindowRestore( WasMinimized, WasMaximized : boolean )
    OnWindowClose()

### Specifické událostní procedury přístroje

Přístroj nemá specifické událostní procedury.