Promotic

onMouseArea - událost objektu PmgTrendViewer

Popis:
Událost je vyvolána po stisknutí, uvolnění, nebo dvojklikem levým tlačítkem myši nad plochou, ve které jsou vykreslovány grafy (ohraničena stupnicemi).
Parametry:
pMe(Object) Reference na PmgTrendViewer objekt, ve kterém daná událost vzniká.
pEvent(Object) Reference na objekt, který popisuje informace o dané události.
pEvent.Action - (Long) [pro čtení] druh akce nad levým tlačítkem myši
0: uvolnění tlačítka
1: stisknutí tlačítka
2: dvojklik tlačítka
pEvent.Ctrl - (Boolean) [pro čtení] Indikace současného stisknutí klávesy Ctrl
pvent.Shift - (Boolean) [pro čtení] Indikace současného stisknutí klávesy Shift
pEvent.Alt - (Boolean) [pro čtení] Indikace současného stisknutí klávesy Alt
pEvent.X - (Long) [pro čtení] Pozice kursoru myši (v pixelech) v ose X relativně k levému hornímu rohu oblasti pro kreslení průběhů (ohraničena stupnicemi)
pEvent.Y - (Long) [pro čtení] Pozice kursoru myši (v pixelech) v ose Y relativně k levému hornímu rohu oblasti pro kreslení průběhů (ohraničena stupnicemi)
pEvent.TimePos - (Variant) [pro čtení] Hodnota času odpovídající pozici kursoru, kde bylo kliknuto myši.
pEvent.ValuePos - (Variant) [pro čtení] Hodnota průběhu aktivního trendu (určený vlastností PmgTrendViewer.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 PmgTrendViewer.TrendsCount je 0), pak parametr je nastaven na hodnotu: null pro JavaScript nebo Empty pro VBScript.
Poznámka:
Tato událost je funkční i ve Web obrazech.

Upozornění 1: Vždy je nutno otestovat parametr pEvent.Action (viz Příklad1). Pokud by nebyl testován, pak skript v události onMouseArea bude volán dvakrát, protože pokud uživatel stiskne a uvolní tlačítko myši, pak událost onMouseArea je vyvolána dvakrát (pokaždé s jiným parametrem pEvent.Action).
 
Upozornění 2: Do skriptu v případě, kdy je ošetřována akce pEvent.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 pEvent.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. pokud pEvent.Action=0).
Viz také:
Příklad1:
JavaScriptVBScriptVyber a zkopíruj do schránky

var oTrend = pMe.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 blízkosti průběhu trendu je tento trend zaktivován, tzn. vlastnost TrendActive je nastavena na trend, na jehož průběh bylo kliknuto.
JavaScriptVBScriptVyber a zkopíruj do schránky

var oTView = pMe;
var nTrend;
if (Action == 0)
{
nTrend = oTView.FindTrend(10, X, Y);
if (nTrend >= 0)
{
oTView.TrendActive = nTrend;
}
}

Historie:
Pm8.01.07: Nenastavoval se parametr pEvent.Alt s příznakem stisku klávesy Alt.
© MICROSYS, spol. s r. o.