Bonjour,
Je suis bloqué sur un problème qui j’espère possède une solution simple.
En FMX je veux pouvoir appuyer à plusieurs endroits de mon écran en même temps.
En utilisant l'événement onTouch pas de problème.
Je peux appuyer d'abord sur une zone puis une autre en laissant mon premier appui, j'ai deux appuis simultanés.
Mon problème est que quand j’enlève un des deux doigts , le paramètre const Touches: TTouches me renvoie les deux positions où on avait appuyé et pas seulement celle où j'ai enlevé le doigt ce qui fait que même si j'enlève un seul appui et bien il considère que sur le Up il n y a plus aucun doigt posé.
J'ai peur que cela ressemble à un bug de Delphi car sur le Up il devrait m'envoyer que l'endroit où il y a eu le Up ou alors je comprends mal à quoi sert cet événement.
Help pleeeasse !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 procedure THeaderFooterForm.FormTouch(Sender: TObject; const Touches: TTouches; const Action: TTouchAction); var iterTouch:TTouch; begin if Action = TTouchAction.Down then begin Memo1.Lines.Add('Enter touch with down event with touches count:'+IntToStr(Length(Touches))); for iterTouch in Touches do begin TestAllRectangles(iterTouch.Location.X,iterTouch.Location.Y,True); end; end; if Action = TTouchAction.Up then begin Memo1.Lines.Add('Enter touch with up event with touches count:'+IntToStr(Length(Touches))); for iterTouch in Touches do begin TestAllRectangles(iterTouch.Location.X,iterTouch.Location.Y,False); end; end; end;
Partager