In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

Error de Foco al usar Application:lUseReturn := .T.

Foro de Xailer profesional en español
Responder
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Error de Foco al usar Application:lUseReturn := .T.

Mensaje por Xevi »

Hola,
Incluyo Application:lUseReturn := .T. en mi aplicación,
En un Form dispongo de mas de un Edit...
al pulsar Enter en un Browse le mando a Editar los Edits...
Fuerzo el Foco al Primer Edit... ::oEditNOM:SetFocus()
Pero se me va al segundo Edit...
Saco Application:lUseReturn := .T. y funciona correctamente, se va al Edit
que le envio con SetFocus()
¿?¿?
Un Saludo,
Xevi.
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9469
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Error de Foco al usar Application:lUseReturn := .T.

Mensaje por ignacio »

Xevi,
Puedes mandar un pequeño proyecto que reproduzca el problema. Gracias de
antemano.
No se si en tu caso estas editando el Browse, pues no queda claro pues
indicas que cuando se pulsa Intro en el Browse mandas a editar los Edits,
pero no se si son los Edits del formulario o del propio Browse y tampoco se
desde donde haces realmente el cambio de foco.
En cualquier caso el uso de Intro para saltar entre controles tiene sus
limitaciones, ya que hay muchos controles que ellos mismos procesan la tecla
Intro, como por ejemplo un control EditMemo o el mismo Browse, y en dichos
casos se pierde la funcionalidad de cambiar de control. Yo recomiendo no
usarlo, creo que es una remora del pasado que deberiamos pensar en dejar de
usar cuanto antes.
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:42cbe6ab$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Hola,
>
> Incluyo Application:lUseReturn := .T. en mi aplicación,
> En un Form dispongo de mas de un Edit...
> al pulsar Enter en un Browse le mando a Editar los Edits...
> Fuerzo el Foco al Primer Edit... ::oEditNOM:SetFocus()
> Pero se me va al segundo Edit...
>
> Saco Application:lUseReturn := .T. y funciona correctamente, se va al Edit
> que le envio con SetFocus()
>
> ¿?¿?
>
> Un Saludo,
> Xevi.
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Error de Foco al usar Application:lUseReturn := .T.

Mensaje por Xevi »

Ahí va un ejemplo simple, simple...
El Browse no tiene registros, pero no le hacen falta para ver el
comportamiento al pulsar Return cuando éste tiene el Foco, el comportamiento
es el mismo con o sin registros.
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje
news:42cbea1c$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
> Xevi,
>
> Puedes mandar un pequeño proyecto que reproduzca el problema. Gracias de
> antemano.
>
> No se si en tu caso estas editando el Browse, pues no queda claro pues
> indicas que cuando se pulsa Intro en el Browse mandas a editar los Edits,
> pero no se si son los Edits del formulario o del propio Browse y tampoco
> se
> desde donde haces realmente el cambio de foco.
>
> En cualquier caso el uso de Intro para saltar entre controles tiene sus
> limitaciones, ya que hay muchos controles que ellos mismos procesan la
> tecla
> Intro, como por ejemplo un control EditMemo o el mismo Browse, y en dichos
> casos se pierde la funcionalidad de cambiar de control. Yo recomiendo no
> usarlo, creo que es una remora del pasado que deberiamos pensar en dejar
> de
> usar cuanto antes.
>
> Un saludo,
>
> "Xevi" <xevicomas@terra.es> escribió en el mensaje
> news:42cbe6ab$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Hola,
>>
>> Incluyo Application:lUseReturn := .T. en mi aplicación,
>> En un Form dispongo de mas de un Edit...
>> al pulsar Enter en un Browse le mando a Editar los Edits...
>> Fuerzo el Foco al Primer Edit... ::oEditNOM:SetFocus()
>> Pero se me va al segundo Edit...
>>
>> Saco Application:lUseReturn := .T. y funciona correctamente, se va al
>> Edit
>> que le envio con SetFocus()
>>
>> ¿?¿?
>>
>> Un Saludo,
>> Xevi.
>>
>
>
>


Attached files Proves.zip (8.9 KB)Â
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Error de Foco al usar Application:lUseReturn := .T.

Mensaje por Xevi »

Ignacio,
De momento lo "parcheo" enviándolo al último control cuando pulso RETURN en
el Browse, porque por lo visto al pulsar RETURN en el BROWSE me lo envía al
siguiente... que luego es el primero.
Un Saludo,
Xevi.
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:[email=42cc413d@ozsrvnegro.ozlan.local...]42cc413d@ozsrvnegro.ozlan.local...[/email]
> Ahí va un ejemplo simple, simple...
>
> El Browse no tiene registros, pero no le hacen falta para ver el
> comportamiento al pulsar Return cuando éste tiene el Foco, el
> comportamiento es el mismo con o sin registros.
>
>
> Un Saludo,
> Xevi.
>
>
> "Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje
> news:42cbea1c$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>> Xevi,
>>
>> Puedes mandar un pequeño proyecto que reproduzca el problema. Gracias de
>> antemano.
>>
>> No se si en tu caso estas editando el Browse, pues no queda claro pues
>> indicas que cuando se pulsa Intro en el Browse mandas a editar los Edits,
>> pero no se si son los Edits del formulario o del propio Browse y tampoco
>> se
>> desde donde haces realmente el cambio de foco.
>>
>> En cualquier caso el uso de Intro para saltar entre controles tiene sus
>> limitaciones, ya que hay muchos controles que ellos mismos procesan la
>> tecla
>> Intro, como por ejemplo un control EditMemo o el mismo Browse, y en
>> dichos
>> casos se pierde la funcionalidad de cambiar de control. Yo recomiendo no
>> usarlo, creo que es una remora del pasado que deberiamos pensar en dejar
>> de
>> usar cuanto antes.
>>
>> Un saludo,
>>
>> "Xevi" <xevicomas@terra.es> escribió en el mensaje
>> news:42cbe6ab$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>> Hola,
>>>
>>> Incluyo Application:lUseReturn := .T. en mi aplicación,
>>> En un Form dispongo de mas de un Edit...
>>> al pulsar Enter en un Browse le mando a Editar los Edits...
>>> Fuerzo el Foco al Primer Edit... ::oEditNOM:SetFocus()
>>> Pero se me va al segundo Edit...
>>>
>>> Saco Application:lUseReturn := .T. y funciona correctamente, se va al
>>> Edit
>>> que le envio con SetFocus()
>>>
>>> ¿?¿?
>>>
>>> Un Saludo,
>>> Xevi.
>>>
>>
>>
>>
>
>
>
------------------------------------------------------------ --------------------
>
>
>
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Error de Foco al usar Application:lUseReturn := .T.

Mensaje por jfgimenez »

Xevi,
> El Browse no tiene registros, pero no le hacen falta para ver el
> comportamiento al pulsar Return cuando éste tiene el Foco, el
> comportamiento es el mismo con o sin registros.
El problema está exactamente en lo mismo que el siguiente hilo: retorna 0 en
vez de nil cuando te pulsen Return.
Como regla general aclaro que cuando se retorna Nil en un evento, Xailer
tomará la acción por defecto (si la hay) que corresponda a ese evento,
incluso pasarle la pelota al API. En cambio, cuando se retorna cualquier
otro valor, Xailer no hace nada más, excepto devolver ese valor al API, que
hará (o no hará) lo que tenga que hacer en función del evento.
--
Un saludo,
José F. Giménez
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Responder