Vb6.0 vs PB 9.0 (Keypress)

Hola a todos los del foro, y muchas gracias los que me ayudaron en este tema ...
Bueno el problema es el siguiente: tengo un sistema hecho en vb6.0 y una de las ventajas de este lenguaje es el evento keypress (power builder no lo tiene por defecto pero se puede crear), en fin el personal ya se acostumbro a pasar de un campo a otro con solo con presionar la tecla enter, en PB si lo en conseguido hacerlo
http://www.4shared.com/file/96430291/5415cb13/PowerBuilder_v105.html
ahora lo malo de este método es que solo me mueve a los campos donde el TabOrder están activos, pero si yo quiero moverme a otro control, es decir a un Command, no se puede, y solo se cambia si habido un cambio en el campo si no, no pasa nada :( ...
Después hice esto, como ya estaba creado el evento agregue este cod en el evento (valga la redundancia).
int i
string Dato
if key = Keyenter! Then
i = dw_cabecera.getrow( )
choose case dw_cabecera.getcolumnname( )
  case 'documento_doc_fechadoc'
    dw_cabecera.setcolumn(5)
  case 'documento_zona_cod','documento_zona_cod_1'
    dw_cabecera.setcolumn(6)
  case 'documento_clie_cod'
//aqui es donde aparece mi incognita? Ya que la variable "dato" no es la variable <Data> del Dw al hacer enter no aparece nada, sino hasta el segundo enter presinado :(
    dato = dw_cabecera.object.documento_clie_cod
     if trimw(dato) = '' or isnull(dato) then
      open(w_busca_cliente)
      dato = message.stringparm
      f_sp_buscarcliente_xzona(dato)
      dw_cabecera.object.documento_clie_cod = dato
     end if
    dw_cabecera.setcolumn(4) //Nro DOc
  case 'documento_doc_numdoc'
     dw_cabecera.setcolumn(7) //vended
   case 'documento_doc_pedido'
     cb_agregar.setfocus( )
end choose
end if

En conclusión como hago para simular el evento keypress de vb6.0

1 Respuesta

Respuesta
1
Según se, en PB el evento se llama ITEMCHANGED()
Pero debes manejar muy bien el focus y finalizar con accepttext que es lo que confirma el texto
mira el manual, ahí salen ejemplos de como usarlo
slds

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas