Zapamiętanie początkowej pozycji kursora myszy

0

Witam,
Chcę zachować początkową wartość pozycji myszki, niezaleznie od późniejszego jej ruchu, np rozpoczynam ruch od t.X = 120 I aby ta poczatkowa wartość nie ulegała zmianie. Prosił bym opodpowiedż.

procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Single);
var
  T:TPointF;
  pocz:integer;
begin
  t := screen.MousePos ;
  pocz := t.X; // wartosc odczytana jednorazowo odczytujac polozenie poczatkowe kursora
  if pocz < round(t.X) then
    begin
      {wykonaj kod}
    end else
   if pocz > round(t.X) then
      Begin
         {wykonaj kod}
      End;
end;
0

przenieś zmienną pocz do klasy jako pole prywatne.

no i na pewno nie powinien to być string.

0

... i na pewno nie tuż przed sprawdzeniem.

0

@grafo - jeśli początkową pozycję kursora myszy chcesz odczytać raz, to na pewno nie powinieneś tego robić w zdarzeniu OnMouseMove, bo ono wykonywane jest wielokrotnie.

0

Dziękuję za zainteresowanie tematem z tym, że nie bardzo wiem gdzie powinieniem umieścić procedure odczytu. Kiedy dotknę ekranu telefonu to w zdarzeniu MouseMove Od razu odczytuje mi pozycje myszy (palca) na komponęcie TImage. Wiem, że powinna ona być poza procedurą MouseMove jednak nie wiem jak ją uruchomić po dotknieciu ekranu :(

0

Przy dotknięciu - MouseDown

0

Próbuję uruchomić kod w MouseDown wyświetla mi wartość 0 przy pierwszym dotknięciu a po ponownym dotknięciu wyświetlacza pokazuje ostatnią pozycję na której oderwałem palec od wyświetlacza wcześniej:(

 procedure TForm1.Image1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Single);
var
sd : TPointF;
begin
   sd:= screen.MousePos;
    label1.Text := FloatToStr(round(sd.X));
end;

Nie mogę uzyskać polożenia kursora podczas dotyku, natomiast w MouseMove jeżeli tylko dotknę wyświetlacz to pokazuje mi pozycję kursora w miejscu dotknięcia.

1
procedure TForm1.Image1MouseDown(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Single);
begin
    label1.Text:=FloatToStr(X);
end;
0

_13th_Dragon dziekuję, działa :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1