AGB  ·  Datenschutz  ·  Impressum  







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

Multitouch Delphi 2007

Ein Thema von Gruber_Hans_12345 · begonnen am 27. Okt 2014 · letzter Beitrag vom 4. Nov 2014
Antwort Antwort
Gruber_Hans_12345
Online

Registriert seit: 14. Aug 2004
1.437 Beiträge
 
Delphi 2007 Professional
 
#1

Multitouch Delphi 2007

  Alt 27. Okt 2014, 15:02
Hallo

Ich spiele mich gerade bisschen mit Multitouch - im speziellen will ich das Panning schaffen auf nem Windows 8 Tablet.

Nun habe ich eine kleine Testanwendung geschrieben, da funktioniert das ganze im Moment ziemlich gut.
Sprich ich tippe mit einem finger auf den screen und wische links rechts rauf runter - egals was es funkt.
Auch wenn ich mit beiden fingern drauftippsle dann gehts.

So .... nun das ganze portiert in meine große Mainanwendung - und eigentlich alles 1:1 portiert.
Aber hier muss ich mit 2 fingern tippseln. Wenn ich nur mit einem das mache dann bekomme ich keine WM_GEST* messages ....

hat wer eine Idee warum und wo ich da weitersuchen kann?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Gruber_Hans_12345
Online

Registriert seit: 14. Aug 2004
1.437 Beiträge
 
Delphi 2007 Professional
 
#2

AW: Multitouch Delphi 2007

  Alt 28. Okt 2014, 11:51
Also noch mal genau geschaut


die WM_GESTURE_NOTIFY bekomme ich ... dann setze ich mit SetGestureConfig das ich Zoom und SINGLE_FINGER_PAN haben will aber das kommt leider nicht ....
es kommen keien WM_GESTURE Nachrichten an .... nur wenn ich einen zweiten finger verwende ...

Keinen plan warum

So setze ich im GESTURE_NOTIFY mein SetGestureConfig ...
vorher war es auf Alle Gestures ... aber das sind die die ich haben will ...

Delphi-Quellcode:
procedure TForm.WMGestureNotify(var Msg: TWMGestureNotify);
var
    gestureConfig : array[1..2] of TGestureConfig;
begin
    AddDebug('WMGestureNotify');

    gestureConfig[1].dwID := GID_PAN;
    gestureConfig[1].dwBlock := GC_PAN_WITH_GUTTER or GC_PAN_WITH_INERTIA;
    gestureConfig[1].dwWant := GC_PAN_WITH_SINGLE_FINGER_VERTICALLY or GC_PAN_WITH_SINGLE_FINGER_HORIZONTALLY;

    gestureConfig[2].dwID := GID_ZOOM;
    gestureConfig[2].dwBlock := 0;
    gestureConfig[2].dwWant := GC_ZOOM;

    SetGestureConfigFn(Handle, 0, 2, @gestureConfig[1], sizeof(gestureConfig));

    Msg.Result := DefWindowProc( Handle, Msg.Msg, Msg.Unused, Longint(Msg.NotifyStruct));
end;
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Gruber_Hans_12345
Online

Registriert seit: 14. Aug 2004
1.437 Beiträge
 
Delphi 2007 Professional
 
#3

AW: Multitouch Delphi 2007

  Alt 29. Okt 2014, 15:28
Keiner eine Idee?

Die Komponenten die KEINEN Touchsupport haben - also per 0815 Scrollbar sich dann mit dem Touch dann scrollen lassen, da funktioniert das One Finger Panning

Nur bei meiner eigenen Komponente wo ich eben die WM_GESTURE direkt prüfen will da nicht .... ?

Niemand eine Idee oder so?
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Gruber_Hans_12345
Online

Registriert seit: 14. Aug 2004
1.437 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Multitouch Delphi 2007

  Alt 30. Okt 2014, 06:41
So auch wenns ein monolog wird

Hab wieder bisschen was rausgefunden :

Ich bekomme in beiden Fällen einige 0x245, 0x249 usw... das sind WM_POINTER messages ....

Hab mit google bisher auch nur eine übereinstimmung bekommen : http://stackoverflow.com/questions/2...essages-in-xna ... allerdings dort leider auch ohne antwort ...
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Der schöne Günther

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

AW: Multitouch Delphi 2007

  Alt 30. Okt 2014, 09:53
Da ab Delphi 2010 so etwas alles automatisch übernommen wird, musste ich mich damit nie auseinandersetzen. Was mich nur wundert- Warum lauscht du nach WM_GESTURE? Ist das wirklich was du willst?

Gesten sind z.B. schnelle Streifbewegungen ("Flicks") wie "Zurückblättern". Wenn du z.B. ein Memo mit dem Finger mitscrollen willst sind das keine Gesten. Das ist doch WM_TOUCH, oder? Bzw. ist WM_TOUCH veraltet und die "Pointer"-Messsages sollen verwendet werden, irgend so etwas. Aber Gesten sind doch eigentlich überhaupt nicht, was du willst, oder?
  Mit Zitat antworten Zitat
Gruber_Hans_12345
Online

Registriert seit: 14. Aug 2004
1.437 Beiträge
 
Delphi 2007 Professional
 
#6

AW: Multitouch Delphi 2007

  Alt 30. Okt 2014, 10:02
Doch das sollte schon passen

bevor irgendetwas passiert, bekommste eine WM_GESTURENOTIFY Message
In der Message kannst dann mit SetGestureInfo sagen welche GEsture dich interessieren (in meinem Fall, sage ich GID_ZOOM und GID_PAN - das sind die zwei Gestures die mich interessieren)

und dann solltest eben WM_GESTURE bekommen (zuerst eine Start, dann die normalen und am schluss eine END)

doch mit einem finger kommen die bei mir nicht an nur eben WM_POINTER .....
Gruss Hans

2B or not 2B, that is FF
  Mit Zitat antworten Zitat
Gruber_Hans_12345
Online

Registriert seit: 14. Aug 2004
1.437 Beiträge
 
Delphi 2007 Professional
 
#7

AW: Multitouch Delphi 2007

  Alt 4. Nov 2014, 08:08
*** push ***
Gruss Hans

2B or not 2B, that is FF
  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 08:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz