Página 1 de 1

KEYBOARD CHR(13)

Publicado: Vie Ene 09, 2009 5:09 pm
por Sergio Ibarra
Hola todos:
Por favor, si alguien me puede ayudar.
Hago un picklist que funciona correctamente desde un TDBMaskEdit, pero
no consigo eliminar el modo de edicion en forma automática para que se
pase al siguiente TDBMaskEdit sin tener que dar enter. En Clipper esto
se resolvia con un KEYBOARD CHR(13) el cual resolvia el estado modal,
pero en Xailer no he logrado hacerlo ni con este comando el cual está
disponible en xHarbour, ni con RETURN 0, ni tampoco encuentro algún
metodo o propiedad en la clase que pueda usar para este fin.
Agradeceré la ayuda que me proporcionen.
Saludos.
seribalun@live.com.mx

KEYBOARD CHR(13)

Publicado: Sab Ene 10, 2009 8:17 am
por Guillermo Guevara Car
Comparo la misma duda
Rodolfo
"Sergio Ibarra Luna" <seribalun@live.com.mx> escribió en el mensaje
news:[email=496776d9@svctag-j7w3v3j....]496776d9@svctag-j7w3v3j....[/email]
> Hola todos:
>
> Por favor, si alguien me puede ayudar.
>
> Hago un picklist que funciona correctamente desde un TDBMaskEdit, pero no
> consigo eliminar el modo de edicion en forma automática para que se pase
> al siguiente TDBMaskEdit sin tener que dar enter. En Clipper esto se
> resolvia con un KEYBOARD CHR(13) el cual resolvia el estado modal, pero en
> Xailer no he logrado hacerlo ni con este comando el cual está disponible
> en xHarbour, ni con RETURN 0, ni tampoco encuentro algún metodo o
> propiedad en la clase que pueda usar para este fin.
>
> Agradeceré la ayuda que me proporcionen.
>
> Saludos.
> seribalun@live.com.mx

KEYBOARD CHR(13)

Publicado: Sab Ene 10, 2009 6:49 pm
por zeasoftware
USO EN TDBBROWSE:
:PostMsg( WM_KEYDOWN, VK_DOWN )
SI PONES UNA IMAGEN DE POR QUE NO SE ENTIENDE BIEN QUE INTENTAS.
SALUDOS.
--
Ramón Zea
01.993.231-62-29
http://www.paginasprodigy.com/zeasoftware/
zeasoftware@prodigy.net.mx
zeasoftware@hotmail.com
ramonzea@yahoo.com
zeasoft.movil@hotmail.com
dirza_com@hotmail.com

KEYBOARD CHR(13)

Publicado: Mar Ene 13, 2009 1:12 am
por Sergio Ibarra
Ramón Zea escribió:
> USO EN TDBBROWSE:
> :PostMsg( WM_KEYDOWN, VK_DOWN )
>
> SI PONES UNA IMAGEN DE POR QUE NO SE ENTIENDE BIEN QUE INTENTAS.
>
> SALUDOS.
Ramón, gracias por responder.
Tengo un formulario de captura asociado a un dataset por medio de
controles TDBMaskEdit. Para hacer más amigable la captura de un dato
registrado en un catálogo ofrezco, por medio de una hotkey, una lista de
opciones con los valores de ese catálogo para que el usuario elija
alguno de ellos sin tener que escribirlo con el teclado, despues de lo
cual asigno el correspondiente valor a la propiedad Value de dicho
TDBMasdkEdit y asta aqui todo bien, pues en el formulario el control
refleja correctamente el valor seleccionado por el usuario, sin embargo,
para pasar al siguiente control se tiene obligatoriamente que teclear
[ENTER] o alli se queda a pesar de hacer un Return 0 o bién incluir un
SetFocus( .T. ), al siguiente control en el metodo OnExit del
TDBMaskEdit en cuestión (claro que con un click del mouse en el
siguiente control esto se resuelve, pero hacerlo así­ no es muy agradable
para el usuario pues corta la secuencia de la captura).
Lo que comento es que con Clipper, una vez obtenido el valor de la lista
de opciones simplemente se enviaba el [ENTER] al buffer del teclado con
un comando KEYBOARD CHR(13) y listo, se mataba al GET que provocaba el
estado modal y la captura se hací­a agil y amigable.
Te agradezco la ayuda que me puedas dar.
Sergio Ibarra Luna.

KEYBOARD CHR(13)

Publicado: Mar Ene 13, 2009 1:27 am
por zeasoftware
entonces lo que quieres es que al seleccionar el dato que seleccione de la
lista, inmediatamente se vaya al siguiente control?
Si pones algo de codigo para entender mas.
Saludos.
--
Ramón Zea
01.993.231-62-29
http://www.paginasprodigy.com/zeasoftware/
zeasoftware@prodigy.net.mx
zeasoftware@hotmail.com
ramonzea@yahoo.com
zeasoft.movil@hotmail.com
dirza_com@hotmail.com

KEYBOARD CHR(13)

Publicado: Mié Ene 14, 2009 6:20 pm
por jfgimenez
Sergio,
puedes llamar al método :GoNextControl() del dbmaskedit, para que pase el
foco al siguiente control.
--
Un saludo,
José F. Giménez
http://www.xailer.com
http://www.xailer.info

KEYBOARD CHR(13)

Publicado: Mié Ene 14, 2009 7:59 pm
por Sergio Ibarra
Jose F. Gimenez escribió:
> Sergio,
>
> puedes llamar al método :GoNextControl() del dbmaskedit, para que pase el
> foco al siguiente control.
>
>
Ramon Zea y Jose F. Gimenez, muchas gracias por responder.
Estoy descubriendo en la documentación del evento OnExit de TStdControl
(del cual hereda la clase TMaskEdit) el siguiente comentario:
"Nota: En ningún caso puede cambiar el foco desde el código de este
evento, es decir, no debe utilizar el método SetFocus."
Ya probé con GoNextControl(), pero no cambia al siguiente control sin
dar enter.
Tambien probé con oNextCtl := ::oMaskEditN y tampoco.
Quizás se pudiera modificar la restricción del evento OnExit para que si
permita asignar foco a otro control en razón de que es muy frecuente en
una pila de controles de captura, el que dependiendo de un dato
capturado en supongamos, un control "A", se asignen desde catálogos
valores a otros controles de captura (para información y confirmación),
digamos "B", "c" y "D", sin que el usuario tenga que capturarlos, y de
esta forma pasar el foco al control de captura "E" en forma directa
desde el evento OnExit del control "A" en el código del programa. Lo
anterior permitiendo claro, que en el caso de un asunto nuevo de puedan
capturar todos los datos necesarios en "A", "B", "C", "D", "E", etc.
Agradezco la ayuda.
Sergio Ibarra Luna
seribalun@live.com.mx