Promotic

onMouseArea - zdarzenie obiektu PmgTrendViewer

Opis:
Zdarzenie zostanie wywołane po naciśnięciu, zwolnieniu lub poprzez dwukrotne kliknięcie lewym przyciskiem myszki nad obszarem, w którym są wykreślane wykresy (ograniczony przez podziałki).
Parametry:
pMe(Object) Odniesienie do PmgTrendViewer obiektu, w którym dane zdarzenie powstaje.
pEvent(Object) Odniesienie do obiektu zawierającego ściślejsze informacje o danym zdarzeniu.
pEvent.Action - (Long) [do odczytu] rodzaj akcji nad lewym przyciskiem myszki
0: zwolnienie przycisku
1: naciśnięcie przycisku
2: dwukrotne kliknięcie lewym przyciskiem myszki
pEvent.Ctrl - (Boolean) [do odczytu] Indykacja jednoczesnego naciśnięcia klawisza Ctrl
pvent.Shift - (Boolean) [do odczytu] Indykacja jednoczesnego naciśnięcia klawisza Shift
pEvent.Alt - (Boolean) [do odczytu] Indykacja jednoczesnego naciśnięcia klawisza Alt
pEvent.X - (Long) [do odczytu] Pozycja kursora myszki (w pikselach) w osi X względem do lewej górnej krawędzi obszaru do rysowania wykresów (ograniczony podziałkami)
pEvent.Y - (Long) [do odczytu] Pozycja kursora myszki (w pikselach) w osi Y względem do lewej górnej krawędzi obszaru do rysowania wykresów (ograniczony podziałkami)
pEvent.TimePos - (Variant) [do odczytu] Wartość czasu, odpowiadająca pozycji kursora w miejscu naciśnięcia myszki.
pEvent.ValuePos - (Variant) [do odczytu] Wartość przebiegu aktywnego trendu (określony właściwością PmgTrendViewer.TrendActive) odpowiadający pozycji kursora w miejscu naciśnięcia myszki.
Jeżeli w przeglądarce nie jest wyświetlany żaden przebieg (wartość właściwości PmgTrendViewer.TrendsCount jest 0), wtedy parametr jest ustawiony na wartość: null dla JavaScript lub Empty dla VBScript.
Notatka:
Zdarzenie to działa także w Web panelach.

Uwaga 1: Trzeba zawsze sprawdzać parametr pEvent.Action (patrz Przykład1). Jeżeli parametr ten nie byłby sprawdzany, wtedy skrypt w zdarzeniu onMouseArea zostałby wywołany dwukrotnie, ponieważ jeżeli użytkownik naciśnie i zwolni przycisk myszki, wtedy zdarzenie onMouseArea zostanie wywołane dwukrotnie (za każdym razem z innym parametrem pEvent.Action).
 
Uwaga 2: W przypadku, kiedy jest sprawdzana akcja pEvent.Action=1, NIE JEST stosowne umieszczanie do skryptu metod wywołujących inne okna na obszar roboczy (np. Pm.InputBox, itd.). Jeżeli taka metoda zostanie zastosowana, wtedy może to spowodować następujące NIEwywołanie akcji pEvent.Action=0. Skrypty wywołujące kolejne okna należy umieszczać do gałęzi skryptu przynależnej zwolnieniu przycisku myszki (tzn. jeżeli pEvent.Action=0).
Patrz również:
Przykład1:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var oTrend = pMe.Trends(1);
if (Action == 0)
{
if (Ctrl)
{
// Usunie punkt najbliższy do pozycji kursora myszki przy zwolnieniu przycisku myszki
oTrend.Points.RemovePoints("range:all;time:near;", timePos);
}
else
{
// Doda punkt na pozycji kursora myszki przy zwolnieniu przycisku myszki
oTrend.Points.AddPoints(timePos, ValuePos, 0, 5);
}
}
Przykład2:
kliknięciem myszki do obszaru przeglądarki w pobliżu przebiegu trendu dany trend jest zaktywowany, tzn. właściwość TrendActive jest ustawiona na ten trend, na którego przebieg zostało wykonane kliknięcie.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

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

Historia:
Pm8.01.07: Nie był ustawiany parametr pEvent.Alt dla naciśnięcia klawisza Alt.
© MICROSYS, spol. s r.o.