Teclado con DW

¿Cómo te a ido?
Mira necesito hacer que mi datawindow reaccione a eventos desde teclado por lo que le agregue un evento de usuario llamado pbm_keydown (necesito que cuando le de enter o Esc me haga algo), pero no puede hacer eso, no se si habrá otra forma u otro evento de usuario, para que me lea las teclas.
Que me dices...

3 Respuestas

Respuesta
1
Para el Enter haga lo siguiente:
Tiene que crear un evento de usuario que este asociado al control
DataWindow donde quieres utilizar la tecla Enter:
Event Name: ue_enter (Por ejemplo)
Event Id: pbm_dwnprocessenter
Luego en el script del evento que acaba de crear pone el código que necesita cuando opriman enter
Para el esc haga lo siguiente:
En el evento de usuario que creo con el pbm_keydown
IF KeyDown(KeyEscape!) THEN
//lo que quiera hacer
end if
Respuesta
1
Yo capturo las teclas con este evento (código adjunto) i funciona bien aunque NO es el mismo que tu me pones pbm_keydown, pruébalo, te adjunto código de ejemplo.
ue_teclafuncio(keycode key, unsignedint keyflags ) returns long [pbm_dwnkey]
IF key = KeyF5! THEN
ELSEIF ( keydown(KeyEnter!) or (keydown(KeyTab!)) AND NOT KeyDown( KeyShift! )) AND columna = CampFinal THEN
this.setcolumn( CampInicial )
return 1
ELSEIF ( key = Keyuparrow! or key = Keydownarrow!) AND dw.Object.DataWindow.QueryMode = "yes" THEN
this.setcolumn( CampInicial )
return 1
ELSEIF (Keydown(KeyTab!)) AND (KeyDown(KeyShift!)) AND columna = CampInicial THEN
this.setcolumn ( CampFinal)
return 1
END IF
end if
return 0
Espero haverte sido de ayuda, un saludo. TheEvil
Respuesta
1
El evento no es pbm_keydown sin el pbm_dwnkey
Y en la programación de este tienes que verificar la tecla así:
choose case key
case KeyEnter!
------
------
case KeyEscape!
------
------
end choose

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas