Promotic
WikipediaLinkedInYoutubeTwitterFacebook

onMouseArea - zdarzenie objektu TrendsView

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

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

Parametry:
pMe(Object) Odniesienie do obiektu PmiAx posiadającego opiszwanz element ActiveX. Odniesienie do właściwego obiektu ActiveX można uzyskać przy pomocy wyrażenia pMe.Acx.
Action(Long) rodzaj akcji nad lewym przyciskiem myszki
0 - zwolnienie lewego przycisku myszki
1 - naciśnięcie lewego przycisku myszki
2 - dwukrotne naciśnięcie lewego przycisku myszki
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 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 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 we właściwości TrendsView.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 TrendsView.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 myszki, 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. kiedy Action=0).

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

var oTrend = pMe.Acx.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.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