AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Gestures für Windows

Ein Thema von Alex_ITA01 · begonnen am 5. Dez 2024 · letzter Beitrag vom 10. Dez 2024
Antwort Antwort
Alex_ITA01

Registriert seit: 22. Sep 2003
1.134 Beiträge
 
Delphi 12 Athens
 
#1

Gestures für Windows

  Alt 5. Dez 2024, 11:35
Hallo zusammen,
ich habe eine Frage zu den Gestures.
Meine Anwendung besteht aus einem TPanel (alClient).
Darauf liegt eine TScrollbox (alClient).
In der Scrollbox sind ein paar Buttons, die soweit außerhalb des sichtbaren Bereiches liegen, dass die vertikale Scrollbar angezeigt wird.
Anwendung unter Windows starten und mit Mausrad in der Scrollbox scrollen -> funktioniert.
Ich habe einen Touchbildschirm und wollte jetzt mit zwei Fingern hoch und runter schwenken aber leider bekomme ich das nicht hin, dass mit dem Fingern das scrollen auch ausgelöst wird.
Gibt es da noch einen Trick?
Ich habe bei den Gestures nichts geändert gegenüber den Default Einstellungen
Angehängte Grafiken
Dateityp: png 2024.12.05-12_27_27-001.png (29,8 KB, 13x aufgerufen)
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.196 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Gestures für Windows

  Alt 5. Dez 2024, 11:53
Vorsicht bei den Begriffen. Die Gestures und der TGestureManager (den du laut Bild nicht zugewiesen hast) sind für etwas anderes.

"Gestures" sind für "Ich male etwas auf den Bildschirm und danach wird einmalig etwas ausgelöst". Beispielsweise ein Dreieck, oder eine Linie von rechts nach links oder was auch immer. Damit kannst du kein "Ich scrolle mit dem Finger mit" oder "Ich zoome mit zwei Fingern" realisieren.

Normal funktioniert das, ohne dass man etwas einstellen muss. Hast du auch wirklich einen richtigen Touchscreen? Also malt Windows z.B. keinen klassischen Mauszeiger, sondern nur so kleine Punkte? Und kannst du in anderen Anwendungen, z.B. Notepad oder einem Internet-Browser mit dem Finger normal scrollen?
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.134 Beiträge
 
Delphi 12 Athens
 
#3

AW: Gestures für Windows

  Alt 5. Dez 2024, 12:25
Danke für den Tip, dass wusste ich nicht.

Stimmt, es ist einfach ein Bildschirm über HDMI angeschlossen, der Touch hat.
Also Browser und Editor lassen sich auch nicht scrollen.
Bekommt man das aber irgendwie hin, wenn das explizit programmiert/einstellt?
Würde gerne die Scrollbar mit zwei Fingern scrollen wenn ich die Finger in der Komponente "ziehen"
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.196 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Gestures für Windows

  Alt 5. Dez 2024, 12:59
Ja HDMI allein ist ein bisschen wenig. Der wird doch wohl noch zumindest ein USB-Kabel haben?

Daneben gibt es, je nach Modell, teilweise verschiedene Treiber/Konfigurations-Tools, wo einstellbar ist, wie sich das Ding verhalten soll. Soll es so tun, als sei es eine Maus? Oder soll es sich verhalten wie ein "echter Touch"?
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.134 Beiträge
 
Delphi 12 Athens
 
#5

AW: Gestures für Windows

  Alt 5. Dez 2024, 13:10
Ja hast Recht, USB hat er auch wegen der Rückmeldung des Touchs.
Also mir selber würde es reichen, wenn er sich wie eine Maus verhält und ich mit der Maus auch hoch/runter ziehen/schieben kann und die Scrollbar eben mitwandert.

Habe jetzt ein GestureManager drauf gelegt und bei der Scrollbox verknüpft.

Delphi-Quellcode:
  case EventInfo.GestureID of
    sgiUp :
      begin
        ScrollBox1.VertScrollBar.Position := ScrollBox1.VertScrollBar.Position + EventInfo.Distance;
      end;

    sgiDown :
      begin
        ScrollBox1.VertScrollBar.Position := ScrollBox1.VertScrollBar.Position - EventInfo.Distance;
      end;
  end;

  Handled := True;
Leider ist die EventInfo immer nur das Feld Location (X/Y) gefüllt und zwar mit dem Wert, wo man zuerst geklickt hat und den "Zieh/Schiebevorgang" gestartet hat. Würde ja gerne entsprechend der Länge des "Wischens" auch die Scrollbox scrollen
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.196 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Gestures für Windows

  Alt 5. Dez 2024, 13:29
Ich glaube, dein erstes Problem ist doch, dass Ding überhaupt anzuschließen und zu schauen wie es sich verhält:
  1. Als Maus-Emulation
  2. Als Touch

Das entscheidet dann auch, ob du dir über überhaupt einen GestureManager etwas hinmurksen musst, vielleicht lieber einfach doch ▲ und ▼ Buttons über- und unterhalb deine Scrollbox packst oder ob du einfach Windows easy selbst darin scrollen lassen kannst.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.909 Beiträge
 
Delphi 12 Athens
 
#7

AW: Gestures für Windows

  Alt 5. Dez 2024, 13:32
Die Frage ist, ob der Touchscreen echten Touch kann oder lediglich eine Maus emuliert. Das sollte in dessen Unterlagen stehen.

Du kannst dich mit RegisterTouchWindow für Touchnachrichten registrieren. Du solltest mit Tools wie dem Window Detective prüfen, was da für Nachrichten ankommen.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.196 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Gestures für Windows

  Alt 9. Dez 2024, 08:11
Also Browser und Editor lassen sich auch nicht scrollen.
Bekommt man das aber irgendwie hin, wenn das explizit programmiert/einstellt?
Würde gerne die Scrollbar mit zwei Fingern scrollen wenn ich die Finger in der Komponente "ziehen"
Wir hängen immer noch hier, oder? Es ist kein Touchbildschirm (oder du hast das Kabel immer noch nicht eingesteckt) und du suchst eine Möglichkeit, einen Touchbildschirm komplett nachzuprogrammieren?
  Mit Zitat antworten Zitat
Alex_ITA01

Registriert seit: 22. Sep 2003
1.134 Beiträge
 
Delphi 12 Athens
 
#9

AW: Gestures für Windows

  Alt 9. Dez 2024, 09:30
Also, es ist ein Touchbildschirm, der sich aber nur wie eine Mausemulation verhält. Daher bekomme ich das mit dem Touch und Gesten nicht hin wie ich dich verstanden habe.
Was ich jetzt gerne möchte, ist einfach auf meinem normalen Bildschirm vom Laptop mit der Maus das ziehen nach oben und unten innerhalb der Scrollbox (nicht auf der Scrollbar!), dass die eingestellten Gesten ausgeführt werden. Das macht er ja auch mit dem Beispiel oben allerdings würde ich gerne die Scrollbox soweit automatisch scrollen, wie ich mit der Maus das nach oben/unten ziehen durchgeführt habe aber das Feld Location gibt immer nur die Quellkoordinaten an und es gibt keine Zielkoordinaten womit man eine Differenz ausrechnen könnte und mit dieser Differenz die Scrollbox "nachscrollt".
Soweit verstanden was ich meine?
Wenn ich dieses Verhalten ordentlich programmiert/eingestellt bekomme auf einem normalen Laptop-Bildschirm, würde mir das für meinen externen Maus-emulierten-Touchbildschirm reichen.
Let's fetz sprach der Frosch und sprang in den Mixer
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.339 Beiträge
 
Delphi 12 Athens
 
#10

AW: Gestures für Windows

  Alt 9. Dez 2024, 09:40
OnMouseDown
* Startpunkt merken

OnMouseMove
* entsprechend zum Start, bzw. letztem Move verschieben
* wenn weit genug am Rand (oben/unten), den Timer aktivieren

TTimer
* weiterverschieben

OnMouseUp
* aufhören
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz