tecla punto(.) del numpad

08/06/2004 - 17:06 por Luis Ruiz | Informe spam
Hola,
Tengo un evento keyup en el cual realizo diferentes
acciones para las teclas del numpad.
Necesito que sea el punto del numpad pq es una aplicación
que utiliza un numpad externo.
El caso es que tengo un valor para cada una de las teclas
numéricas en la enumeración System.Windows.Forms.Keys:
Keys.NumPad1
Keys.NumPad2
...
Keys.NumPad9
Pero no tengo el correspondiente al punto que contiene el
supr o delete en numlock inactivo. y la enumeración
Keys.OemPeriod no me sirve porque funciona para el punto
normal que tiene los dos puntos (modo mayusculas) en el
teclado español.
Cómo puedo saber cuando alguie presiona esta techa (el
punto del numpad)
Gracias.

Preguntas similare

Leer las respuestas

#1 A.Poblacion
09/06/2004 - 08:18 | Informe spam
Podrías usar un filtro de mensajes para procesar el punto decimal y
cambiarlo por otra cosa que luego reconozcas.

Activa el filtro en el arranque del programa:
System.Windows.Forms.Application.AddMessageFilter(new Filtro());

Y luego utiliza una rutina como la siguiente para tratar los mensajes. Este
ejemplo cambia el punto decimal por una coma:

public class Filtro: IMessageFilter
{
private const int WM_KEYDOWN = 0x100;

public bool PreFilterMessage(ref Message m)
{
if (m.Msg == WM_KEYDOWN)
{
Keys tecla = (Keys)(int)m.WParam & Keys.KeyCode;
if (tecla==Keys.Decimal)
{
SendKeys.Send(",");
return true;
}
}

return false;
}
}


"Luis Ruiz" wrote in message
news:19c3601c44d6a$2cb52e40$
Hola,
Tengo un evento keyup en el cual realizo diferentes
acciones para las teclas del numpad.
Necesito que sea el punto del numpad pq es una aplicación
que utiliza un numpad externo.
El caso es que tengo un valor para cada una de las teclas
numéricas en la enumeración System.Windows.Forms.Keys:
Keys.NumPad1
Keys.NumPad2
...
Keys.NumPad9
Pero no tengo el correspondiente al punto que contiene el
supr o delete en numlock inactivo. y la enumeración
Keys.OemPeriod no me sirve porque funciona para el punto
normal que tiene los dos puntos (modo mayusculas) en el
teclado español.
Cómo puedo saber cuando alguie presiona esta techa (el
punto del numpad)
Gracias.
Respuesta Responder a este mensaje
#2 Anonimo
09/06/2004 - 09:26 | Informe spam
Podría usted realizar un aporte de código
Respuesta Responder a este mensaje
#3 Gandalf
09/06/2004 - 15:56 | Informe spam
Yo uso el siguiente código:
private void txtExp_KeyDown(object sender, KeyEventArgs e)

{

if (e.KeyCode==Keys.Decimal)

bPunto=true;

else bPunto=false;

}

private void txtExp_KeyPress(object sender, KeyPressEventArgs e)

{

if ((e.KeyChar=='.') && bPunto)

{

e.Handled=true;

SendKeys.Send(",");

}

}

Te pongo los dos eventos que debes usar para el TextBox, solo necesitas
añadir una variable tipo bool, llamada bPunto.

Un Saludo.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida