Promotic
WikipediaLinkedInYoutubeTwitterFacebook

onMouseArea - zdarzenie objektu PmgTrendViewer

Opis:
Zdarzenie jest wywołane po naciśnięciu, zwolnieniu, lub dwukrotnym kliknięciu lewym przyciskiem myszy nad obszarem, w którym są wykreślane wykresy (ograniczony przez podziałki).

Czy zdarzenie zostanie wywołane przez naciśnięcie, zwolnienie lub dwukrotne kliknięcie myszką można stwierdzić w parametrze Action.

Parametry:
pMe(Object) Odniesienie do PmgTrendViewer obiektu, w którym dane zdarzenie powstaje.
Action(Long) rodzaj akcji nad lewym przyciskiem myszy
0 - zwolnienie przycisku
1 - naciśnięcie przycisku
2 - dwukrotne naciśnięcie przycisku
Ctrl(Boolean) wskazanie jednoczesnego naciśnięcia klawisza Ctrl
Shift(Boolean) wskazanie jednoczesnego naciśnięcia klawisza Shift
Alt(Boolean) wskazanie jednoczesnego naciśnięcia klawisza Alt
X(Long) Pozycja kursora myszki (w pikselach) w osi X względem do lewej górnej krawędzi obszaru do kreślania wykresów (ograniczony podziałkami)
Y(Long) Pozycja kursora myszki (w pikselach) w osi Y względem do lewej górnej krawędzi obszaru do kreślania wykresów (ograniczony podziałkami)
TimePos(Variant) Wartość czasu, odpowiadająca pozycji kursora w miejscu naciśnięcia myszki.
ValuePos(Variant) 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 wynosi 0), wtedy parametr jest ustawiony na wartość Empty.

Notatka:

Uwaga 1: Trzeba zawsze sprawdzać parametr 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 myszy, wtedy zdarzenie onMouseArea zostanie wywołane dwukrotnie, lecz zawsze z innym parametrem Action.

Uwaga 2: W przypadku, kiedy jest sprawdzana akcja 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 Action=0. Skrypty wywołujące kolejne okna należy umieszczać do gałęzi skryptu przynależnej zwolnieniu przycisku myszki (tzn. jeżeli Action=0).

Patrz również:
Przykład1:
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var oTrend = pMe.Trends(1);
if (Action == 0)
{
if (Ctrl)
{
//usuń punkt najbliższy do pozycji kursora myszki przy zwolnieniu przycisku myszki
oTrend.Points.RemovePoints("range:all;time:near;", timePos);
}
else
{
//dodaj 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. jest ustawiona właściwość TrendActive 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;
}
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice