2009-10-08 9 views
1

Je viens d'acheter un pavé tactile qui permet de dessiner et d'utiliser le multitouch. L'API n'est pas entièrement supportée par Windows 7, je dois donc me fier au dialogue de construction dans la configuration.Pistes "commandes" envoyer à la fenêtre WPF par pavé tactile (Bamboo)

Les fonctionnalités de base fonctionnent, donc si je dessine quelque chose dans mon outil WPF, et que j'utilise les deux doigts pour faire un clic droit, je peux, par ex. changer la couleur. Ce que je veux faire maintenant est d'assigner d'autres fonctions à des fonctionnalités spéciales dans WPF.

Est-ce que quelqu'un sait comment savoir de quelle manière le pad communique avec l'application? Cela fonctionne par exemple dans Firefox pour défiler, comme il se doit (montré sur cette photo). Mais je ne sais pas comment brancher l'événement de défilement, j'ai essayé un Scrollviewer (qui ignore mes tentatives de défilement) et j'ai également branché un événement avec le keypressed, mais il ne se déclenche pas (je suppose que le pad "n'appuie pas sur une touche "mais envoie en quelque sorte le « scroll » commande direclty. Comment puis-je attraper cette commande dans WPF?

Merci beaucoup, Chris

[EDIT] Je suis le parchemin au travail, mais seulement de haut en bas, Pas juste à gauche et à droite C'était juste une erreur stupide "listbox dans scrollviewer" Mais toujours pas sûr de commandes comme ZOOM dans (qui fonctionne même dans la peinture) .. Quelle API contient de telles choses?

[EDIT2] Drôle , le zoom fonctionne dans Firefox, le défilement horizontal ne fonctionne pas. Mais, dans la peinture, vient de demander au fonctionne le défilement horizontal ...

[EDIT 3] dans le forum wacom, laisse voir temps de réaction de soutien des fournisseurs ... http://forum.wacom.eu/viewtopic.php?f=4&t=1939

Voici une image de la configuration surface pour obtenir l'idée de ce dont je parle: (paramètres Bamboo, je tente d'attraper ces commandes dans WPF)

alt text http://img340.imageshack.us/img340/3751/20091008210914.jpg

Répondre

0

Avez-vous eu un coup d'œil à this encore. WPF 3.5 ne supporte pas nativement le multi-touch (il arrive en WPF 4.0) mais les exemples de ce kit devraient vous aider à utiliser la bibliothèque d'intégration Windows7 qui accède aux API Win32 natives pour fournir le support requis (Don ' T inquiète ce n'est pas vraiment moche :).

+0

Merci, les laboratoires semblent intéressants, mais cela ne fonctionnera pas pour mon problème. Je n'ai pas vraiment un affichage multitouch qui utilise la nouvelle API de Windows 7 (je voudrais avoir quelques-uns de ces beaux ordinateurs portables). Le Bamboo semble reconnaître le multitouch par lui-même et les traduit en «commande par défaut» comme SCROLL ou ZOOM. Le défilement (seulement haut et bas) semble fonctionner partout (semble imiter la molette de la souris). Donc, c'est plus une question générale, comment est par exemple. défilement horizontal défini dans WPF .. –

+0

Ah je vois maintenant. Oui, le pilote Bamboo génère probablement des messages Win32 que les applications qui répondent - Paint et Firefox - sont à l'écoute. Désolé je ne peux pas lire l'allemand :) mais pouvez-vous attribuer le type d'événement à l'action que vous effectuez via cette configuration ... J'ai fait cela sous une forme beaucoup plus simple avec des tablettes Wacom, par exemple. map Barrell cliquez sur le bouton droit de la souris. Votre meilleur pari serait de déterminer quel type d'événements WPF chaque action de la tablette génère et ensuite répondre à ceux qui sont nécessaires. Il y a quelques informations utiles cachées dans le StylusButtonEventArgs, c.-à-d. Si vous creusez dans le –

+0

source ou dispositif (je ne me souviens pas lequel maintenant) vous obtiendrez une valeur d'identification de bouton (je pense qu'il y a StylusButton.Id ou semblable caché quelque part). Maintenant, cette valeur est très probablement différente pour le simple contact, le multi-touch, etc. même si le même gestionnaire d'événements est appelé. Donc, oui, essayez tous les événements Stylus, et les événements de la souris et creuser dans les arguments et vous trouverez quelque part un moyen d'identifier les différentes actions.Dans Charles Petzolds Application = Code + Markup il y a un peu de code pour attraper et examiner tous les différents événements, cela peut vous aider à démarrer. –

Questions connexes