En el desarrollo de un tablet PC, como determino si el usuario hace clic en un ratón o un lápiz?

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

  •  09-09-2019
  •  | 
  •  

Pregunta

¿Cómo puedo comprobar si el usuario hace clic con el ratón o con un lápiz óptico en un control C #.

Para por ejemplo. Si el usuario hace clic en un cuadro de texto con un botón del lápiz luego quiero un panel de entrada para que aparezca, pero si hace clic con un ratón, entonces no debería. Entonces, ¿cómo puedo comprobar si él estaba usando un ratón o un lápiz?

Editar: Uso de formularios de Windows no WPF

¿Fue útil?

Solución

escribí un artículo para MSDN que nunca llegó publicó, supongo que porque Tablet PC se apagó el desarrollo por el momento en que llegué a ellos. Pero describía cómo hacer esto. Larga historia corta, usted querrá la API GetMessageExtraInfo. Aquí están las definiciones:

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

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

El email yo en mi primer nombre en Einstein tecnología punto net si desea que le envíe el artículo.

Otros consejos

Si estás usando WPF entonces hay toda una serie de eventos Stylus. P.ej. UIElement.StylusDown .

Este tiene más detalles acerca de cómo interactúan los eventos de lápiz y ratón .

Si usted no está usando WPF, por qué no? : P

Realmente no sé mucho de esto, pero supongo que si alguien está usando un lápiz, entonces el MouseEnter, mouseExit (o lo que es el equivalente) eventos voluntad no siempre fuego. Si uno se pone despedido, entonces usted sabe que están usando un ratón.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top