Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Sandstorm en 28 Mayo 2008, 21:41 pm



Título: Keypress en todo el tiempo de ejecucion del formulario
Publicado por: Sandstorm en 28 Mayo 2008, 21:41 pm
Hola

Me preguntaba como puedo hacer para que un keypress valga para todo el formulario mientras se este ejecutando. Me explico.

Tienes varios Textbox limitados a numeros, entonces debes indicar la operacion entre esos numeros (en ejecucion). Para ello debes pulsar una tecla equivalente a una operacion matematica +,-,*,/ el codigo, le tengo hecho, es el siguiente:
Código:
Select Case KeyAscii
Case 43
oper.Caption = "+"
Case 42
oper.Caption = "X"
Case 45
oper.Caption = "-"
Case 47
oper.Caption = "/"
Case Else
oper.Caption = ""
End Select
Donde oper es una label que a su vez (mas adelante en el programa..) indica la operacion que debe realizar ( +=+ x=* etc)

Vale, mi pregunta es: ¿Que uso para que en cualquier momento de la ejecucion del programa, si se pulsa uno de los operadores matematicos, me ejecute el codigo que os he puesto?

PD: Conseguirlo, lo he conseguido, pero lo consigo declarandolo en TODOS los textbox con el metodo textbox.keypress, y es un coñazo. He probado a que se ejecute al cargar el formulario (form_load), tambien con form_keypress y nada...


Título: Re: Keypress en todo el tiempo de ejecucion del formulario
Publicado por: naderST en 28 Mayo 2008, 21:44 pm
La solucion mas sencilla es: coloca un Timer y usa la API GetAsyncKeyState.


Título: Re: Keypress en todo el tiempo de ejecucion del formulario
Publicado por: seba123neo en 28 Mayo 2008, 21:48 pm
mmmm mejor sin timer,hookea con RegisterHotKey ,UnregisterHotKey .

saludos.


Título: Re: Keypress en todo el tiempo de ejecucion del formulario
Publicado por: SKL (orignal) en 29 Mayo 2008, 05:33 am
concuerdo con seba...

es mas cobein creo qeu tenia un modulo o una clase faciil de usar...


Título: Re: Keypress en todo el tiempo de ejecucion del formulario
Publicado por: cobein en 30 Mayo 2008, 00:34 am
Pone en el form la propiedad KeyPreview=True y el code en Form_KeyPress