Promotic
WikipediaLinkedInYoutubeTwitterFacebook

onMouseArea - událost objektu PmgTrendViewer

Popis:
Událost je vyvolána po 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 je vyvolána stiskem, uvolněním nebo Dvojklikem myší lze získat v parametru pEvent.Action.

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) 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) indikace současného stisknutí klávesy Ctrl
pvent.Shift - (Boolean) indikace současného stisknutí klávesy Shift
pEvent.Alt - (Boolean) indikace současného stisknutí klávesy Alt
pEvent.X - (Long) 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) 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) Hodnota času odpovídající pozici kursoru, kde bylo kliknuto myši.
pEvent.ValuePos - (Variant) 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:

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 zmáčkne a uvolní tlačítko myši, pak událost onMouseArea je vyvolána dvakrát, ovšem vždy 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. je nastavena vlastnost TrendActive 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: se nenastavoval parametr pEvent.Alt s příznakem stisku klávesy Alt.
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice