Lors de l'élaboration d'un Tablet PC, comment puis-je déterminer si l'utilisateur a cliqué une souris ou un stylo?

StackOverflow https://stackoverflow.com/questions/758782

  •  09-09-2019
  •  | 
  •  

Question

Comment puis-je vérifier si l'utilisateur a cliqué avec une souris ou avec un stylet sur un contrôle C #.

Pour exemple. Si l'utilisateur clique sur une zone de texte avec un bouton du stylet puis je veux un panneau d'entrée pour faire apparaître mais s'il clique avec une souris alors il ne faut pas. Alors, comment puis-je vérifier s'il utilisait une souris ou un stylo?

Edit: Utilisation de Windows Forms ne WPF

Était-ce utile?

La solution

J'ai écrit un article pour MSDN qui ne furent publiés, je suppose parce que le développement Tablet PC fait long feu au moment où je l'ai eu à leur disposition. Mais il décrit comment faire cela. Longue histoire courte, vous voulez que l'API GetMessageExtraInfo. Voici les définitions:

// [DllImport( "user32.dll" )]
// private static extern uint GetMessageExtraInfo( );

uint extra = GetMessageExtraInfo();
bool isPen = ( ( extra &  0xFFFFFF00 ) == 0xFF515700 );

Envoyez-moi mon prénom au point net Einstein Tech si vous voulez que je vous envoie l'article.

Autres conseils

Si vous utilisez WPF puis il y a une foule d'événements Stylus. Par exemple. UIElement.StylusDown .

Cette a plus de détails sur les événements du stylet et de la souris interagissent .

Si vous ne l'utilisez WPF, pourquoi pas? : P

Je ne sais pas vraiment trop à ce sujet, mais je suppose que si quelqu'un utilise un stylet, puis les événements mouseEnter, mouseExit (ou quel que soit l'équivalent est) ne sera plus jamais le feu. Si on ne se tiré, alors vous savez qu'ils utilisent une souris.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top