Promotic
WikipediaLinkedInYoutubeTwitterFacebook

onMouseArea - událost objektu TrendsView

Popis:
Událost je vyvolána při stisku, uvolnění, nebo dvojklikem levým tlačítkem myši nad plochou, ve které jsou vykreslovány grafy (ohraničena stupnicemi).

Zda událost byla vyvolána stiskem, uvolněním nebo dvojklikem myši lze zjistit z parametru Action.

Parametry:
pMe(Object) Reference na objekt PmiAx vlastnící tento ActiveX. Referenci na samotný ActiveX objekt lze získat pomocí výrazu pMe.Acx.
Action(Long) druh akce nad levým tlačítkem myši
0 - uvolnění levého tlačítka myši
1 - stisknutí levého tlačítka myši
2 - dvojklik levého tlačítka myši
Ctrl(Boolean) indikace současného stisknutí klávesy Ctrl
Shift(Boolean) indikace současného stisknutí klávesy Shift
Alt(Boolean) indikace současného stisknutí klávesy Alt
X(Long) Pozice kursoru myši (v pixelech) v ose X relativně vůči levému hornímu rohu oblasti pro vykreslování průběhů (ohraničena stupnicemi)
Y(Long) Pozice kursoru myši (v pixelech) v ose Y relativně vůči levému hornímu rohu oblasti pro vykreslování průběhů (ohraničena stupnicemi)
TimePos(Variant) Hodnota času odpovídající pozici kursoru, kde bylo kliknuto myši.
ValuePos(Variant) Hodnota průběhu aktivního trendu (určený vlastností TrendsView.TrendActive) odpovídající pozici kursoru, kde bylo kliknuto myši.

Pokud v prohlížeči není zobrazován žádný průběh (hodnota vlastnosti TrendsView.TrendsCount je 0), pak parametr je nastaven na hodnotu Empty.

Poznámka:

Upozornění 1: Vždy je nutno otestovat parametr Action (viz Příklad1). Pokud by nebyla testována, pak skript v události onMouseArea bude volán dvakrát, neboť pokud uživatel zmáčkne a uvolní tlačítko myši, pak událost onMouseArea přijde dvakrát, ovšem vždy s jiným parametrem Action.

Upozornění 2: Do skriptu v případě, kdy je ošetřována akce Action=1, NENÍ vhodné umísťovat metody vyvolávající jiné okno na plochu (např. Pm.InputBox, atd.). Pokud takováto metoda je použita, pak to může mít za důsledek následné NEvyvolání akce Action=0. Skripty vyvolávající další okna je nutno umístit do větve náležející uvolnění tlačítka myši (tzn. když Action=0).

Viz také:
Příklad1:
JavaScriptVBScriptVyber a zkopíruj do schránky

var oTrend = pMe.Acx.Trends(1);
if (Action == 0)
{
  if (Ctrl)
  {
    //smaž bod nejbližší pozici kurzoru myši, když se uvolňuje tlačítko myši
    oTrend.Points.RemovePoints "range:all;time:near;", timePos;
  }
  else
  {
    //přidej bod na pozici kurzoru myši, když se uvolňuje tlačítko myši
    oTrend.Points.AddPoints timePos, ValuePos, 0, 5;
  }
}
Příklad2:
Kliknutím myši do plochy v blizkosti průběhu trendu je tento trend zaktivován, tzn. je nastavena vlastnost TrendActive na trend, na jehož průběh bylo kliknuto.
JavaScriptVBScriptVyber a zkopíruj do schránky

var oTView = pMe.Acx;
var nTrend;
if (Action == 0)
{
  nTrend = oTView.FindTrend(10, X, Y);
  if (nTrend >= 0)
    oTView.TrendActive = nTrend;
}
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice