Utilisation du TouchManager
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:
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; |
ne fonctionne pas malheureusement
Merci pour vos indications mais au moment du up , je n ai pas d'event down correspondant qui indiquerait qu un doigt est toujours en appui.
Je suis sur community 10.3 je vais essayer sur 10.4 pour voir