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.

Edit asSELECTALL

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

Edit asSELECTALL

Mensaje por Xevi »

Cuando un Edit tiene la propiedad lAutoSelect a asSELECTALL, queda el
contenito seleccionado siempre que accedo a él proviniendo de otro objeto,
ya sea mediante TAB o ENTER.
PERO si selecciono el Edit con el Mouse, NO SE SELECCIONA TODO EL
CONTENIDO...
¿Hay alguna forma para seleccionar TODO el contenido de un Edit en
OnEnter???
Un Saludo,
Xevi.
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Edit asSELECTALL

Mensaje por Xevi »

¿Se podría implementar un evento, si no existe ya que lo desconozca...
oSender:SetSelectAll( .T. ) ???
Gracias.
Un Saludo,
Xevi.
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:[email=43d75315@ozsrvnegro.ozlan.local...]43d75315@ozsrvnegro.ozlan.local...[/email]
>
>
>
> Cuando un Edit tiene la propiedad lAutoSelect a asSELECTALL, queda el
> contenito seleccionado siempre que accedo a él proviniendo de otro objeto,
> ya sea mediante TAB o ENTER.
> PERO si selecciono el Edit con el Mouse, NO SE SELECCIONA TODO EL
> CONTENIDO...
>
> ¿Hay alguna forma para seleccionar TODO el contenido de un Edit en
> OnEnter???
>
> Un Saludo,
> Xevi.
>
>
>
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9463
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Edit asSELECTALL

Mensaje por ignacio »

Xevi,
Método SetSel(). Miralo en la documentación.
Saludos,
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:43d75be9$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> ¿Se podría implementar un evento, si no existe ya que lo desconozca...
> oSender:SetSelectAll( .T. ) ???
>
> Gracias.
>
> Un Saludo,
> Xevi.
>
>
> "Xevi" <xevicomas@terra.es> escribió en el mensaje
> news:[email=43d75315@ozsrvnegro.ozlan.local...]43d75315@ozsrvnegro.ozlan.local...[/email]
>>
>>
>>
>> Cuando un Edit tiene la propiedad lAutoSelect a asSELECTALL, queda el
>> contenito seleccionado siempre que accedo a él proviniendo de otro
>> objeto, ya sea mediante TAB o ENTER.
>> PERO si selecciono el Edit con el Mouse, NO SE SELECCIONA TODO EL
>> CONTENIDO...
>>
>> ¿Hay alguna forma para seleccionar TODO el contenido de un Edit en
>> OnEnter???
>>
>> Un Saludo,
>> Xevi.
>>
>>
>>
>
>
>
Ignacio Ortiz de Zúñiga
[OZ Software]
https://www.ozs.es
--
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9463
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Edit asSELECTALL

Mensaje por ignacio »

Xevi,
No me parece correcto, creo que sería un comportamiento extraño y muy poco
habitual. Esa propiedad SOLO esta pensada para su uso con teclado.
Un saludo,
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:[email=43d75315@ozsrvnegro.ozlan.local...]43d75315@ozsrvnegro.ozlan.local...[/email]
>
>
> Cuando un Edit tiene la propiedad lAutoSelect a asSELECTALL, queda el
> contenito seleccionado siempre que accedo a él proviniendo de otro objeto,
> ya sea mediante TAB o ENTER.
> PERO si selecciono el Edit con el Mouse, NO SE SELECCIONA TODO EL
> CONTENIDO...
>
> ¿Hay alguna forma para seleccionar TODO el contenido de un Edit en
> OnEnter???
>
> 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

Edit asSELECTALL

Mensaje por Xevi »

Ignacio,
Ya lo he probado, pero no se selecciona TODO el texto cuando le doy Click en
el Edit.
METHOD EditKMEnter( oSender, oPrevCtl ) CLASS TFrmAltaORsCITROEN
oSender:SetSel( 0, Len(oSender:cText) )
RETURN Nil
Un Saludo,
Xevi.
"Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje
news:[email=43d76088@ozsrvnegro.ozlan.local...]43d76088@ozsrvnegro.ozlan.local...[/email]
>
> Xevi,
>
> Método SetSel(). Miralo en la documentación.
>
> Saludos,
>
> "Xevi" <xevicomas@terra.es> escribió en el mensaje
> news:43d75be9$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>
>> ¿Se podría implementar un evento, si no existe ya que lo desconozca...
>> oSender:SetSelectAll( .T. ) ???
>>
>> Gracias.
>>
>> Un Saludo,
>> Xevi.
>>
>>
>> "Xevi" <xevicomas@terra.es> escribió en el mensaje
>> news:[email=43d75315@ozsrvnegro.ozlan.local...]43d75315@ozsrvnegro.ozlan.local...[/email]
>>>
>>>
>>>
>>> Cuando un Edit tiene la propiedad lAutoSelect a asSELECTALL, queda el
>>> contenito seleccionado siempre que accedo a él proviniendo de otro
>>> objeto, ya sea mediante TAB o ENTER.
>>> PERO si selecciono el Edit con el Mouse, NO SE SELECCIONA TODO EL
>>> CONTENIDO...
>>>
>>> ¿Hay alguna forma para seleccionar TODO el contenido de un Edit en
>>> OnEnter???
>>>
>>> Un Saludo,
>>> Xevi.
>>>
>>>
>>>
>>
>>
>>
>
>
>
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Edit asSELECTALL

Mensaje por Xevi »

Ignacio,
Te adjunto un Test...
Un Saludo,
Xevi.
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:[email=43d7636c@ozsrvnegro.ozlan.local...]43d7636c@ozsrvnegro.ozlan.local...[/email]
>
>
> Ignacio,
>
> Ya lo he probado, pero no se selecciona TODO el texto cuando le doy Click
> en
> el Edit.
>
> METHOD EditKMEnter( oSender, oPrevCtl ) CLASS TFrmAltaORsCITROEN
> oSender:SetSel( 0, Len(oSender:cText) )
> RETURN Nil
>
> Un Saludo,
> Xevi.
>
>
> "Ignacio Ortiz de Zúñiga" <InvalidAccount@ozs.com> escribió en el mensaje
> news:[email=43d76088@ozsrvnegro.ozlan.local...]43d76088@ozsrvnegro.ozlan.local...[/email]
>>
>> Xevi,
>>
>> Método SetSel(). Miralo en la documentación.
>>
>> Saludos,
>>
>> "Xevi" <xevicomas@terra.es> escribió en el mensaje
>> news:43d75be9$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>>
>>> ¿Se podría implementar un evento, si no existe ya que lo desconozca...
>>> oSender:SetSelectAll( .T. ) ???
>>>
>>> Gracias.
>>>
>>> Un Saludo,
>>> Xevi.
>>>
>>>
>>> "Xevi" <xevicomas@terra.es> escribió en el mensaje
>>> news:[email=43d75315@ozsrvnegro.ozlan.local...]43d75315@ozsrvnegro.ozlan.local...[/email]
>>>>
>>>>
>>>>
>>>> Cuando un Edit tiene la propiedad lAutoSelect a asSELECTALL, queda el
>>>> contenito seleccionado siempre que accedo a él proviniendo de otro
>>>> objeto, ya sea mediante TAB o ENTER.
>>>> PERO si selecciono el Edit con el Mouse, NO SE SELECCIONA TODO EL
>>>> CONTENIDO...
>>>>
>>>> ¿Hay alguna forma para seleccionar TODO el contenido de un Edit en
>>>> OnEnter???
>>>>
>>>> Un Saludo,
>>>> Xevi.
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>>
>>
>
>
>
>


Attached files Edits.zip (1.5 KB)Â
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Edit asSELECTALL

Mensaje por jfgimenez »

Xevi,
> Ya lo he probado, pero no se selecciona TODO el texto cuando le doy Click
> en el Edit.
>
> METHOD EditKMEnter( oSender, oPrevCtl ) CLASS TFrmAltaORsCITROEN
> oSender:SetSel( 0, Len(oSender:cText) )
> RETURN Nil
Como dice Ignacio, no es el comportamiento correcto de windows. No obstante,
si estás decidido a hacerlo, pon esto:
oSender:PostMsg( EM_SETSEL, 0, -1 )
La razón de que no te funcione SetSel() es que el evento OnEnter se produce
inmediatamente, al pulsar con el ratón, y después de seleccionar el texto,
windows sigue procesando eventos, y entre otras cosas lo que hace es colocar
el cursor (caret) en la posición donde se ha pulsado, lo que provoca que se
quite la selección.
En cambio, usando PostMsg(), te aseguras que primero sea windows quien
procese todo lo que tenga que procesar, y tu mensaje se procese al final.
--
Un saludo,
José F. Giménez
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Edit asSELECTALL

Mensaje por Xevi »

> Como dice Ignacio, no es el comportamiento correcto de windows. No
> obstante, si estás decidido a hacerlo, pon esto:
>
> oSender:PostMsg( EM_SETSEL, 0, -1 )
Lo necesitan mis usuarios... a mi me parece muy lógico esta puntualización
de Ignacio, pero mis usuarios quieren que no difiera mucho esta NUEVA
aplicación de la que actualmente disponen en MS-DOS.
Y, ya sabemos todos... el cliente SIEMPRE tiene razón.
Lo que mas agradezco de vuestro equipo es precisamente las SOLUCIONES...
pues hasta hoy NUNCA he recibido un IMPOSIBLE de hacer en Xailer/xHarbour
Sinceramente, Gracias.
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:43d76baa$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> Xevi,
>
>> Ya lo he probado, pero no se selecciona TODO el texto cuando le doy Click
>> en el Edit.
>>
>> METHOD EditKMEnter( oSender, oPrevCtl ) CLASS TFrmAltaORsCITROEN
>> oSender:SetSel( 0, Len(oSender:cText) )
>> RETURN Nil
>
> Como dice Ignacio, no es el comportamiento correcto de windows. No
> obstante, si estás decidido a hacerlo, pon esto:
>
> oSender:PostMsg( EM_SETSEL, 0, -1 )
>
> La razón de que no te funcione SetSel() es que el evento OnEnter se
> produce inmediatamente, al pulsar con el ratón, y después de seleccionar
> el texto, windows sigue procesando eventos, y entre otras cosas lo que
> hace es colocar el cursor (caret) en la posición donde se ha pulsado, lo
> que provoca que se quite la selección.
>
> En cambio, usando PostMsg(), te aseguras que primero sea windows quien
> procese todo lo que tenga que procesar, y tu mensaje se procese al final.
>
>
> --
> Un saludo,
>
> José F. Giménez
>
>
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5718
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Edit asSELECTALL

Mensaje por jfgimenez »

Xevi,
> Lo que mas agradezco de vuestro equipo es precisamente las SOLUCIONES...
> pues hasta hoy NUNCA he recibido un IMPOSIBLE de hacer en Xailer/xHarbour
Jejeje, ya llegará, ya llegará ;-)
No, en serio; eso es porque hasta ahora no has pedido nada imposible; pero
cuando lo hagas, no tendremos más remedio que decirte que es imposible ;-)
--
Un saludo,
José F. Giménez
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Edit asSELECTALL

Mensaje por Xevi »

Jose,
¿Sería posible enviar la doble pulsación del Mouse al Edit???
oSender:PostMsg( DOBLECLIC )
Lo digo, porque ahora encuentro que si el Edit está alineado a la Izq. o
Der.
EM_SETCEL funciona distintamente.
Además luego tengo que el comportamiento que obtengo al recibir el foco
mediante TAB es el no deseado.
Un Saludo,
Xevi.
"Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
news:43d76baa$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
> Xevi,
>
>> Ya lo he probado, pero no se selecciona TODO el texto cuando le doy Click
>> en el Edit.
>>
>> METHOD EditKMEnter( oSender, oPrevCtl ) CLASS TFrmAltaORsCITROEN
>> oSender:SetSel( 0, Len(oSender:cText) )
>> RETURN Nil
>
> Como dice Ignacio, no es el comportamiento correcto de windows. No
> obstante, si estás decidido a hacerlo, pon esto:
>
> oSender:PostMsg( EM_SETSEL, 0, -1 )
>
> La razón de que no te funcione SetSel() es que el evento OnEnter se
> produce inmediatamente, al pulsar con el ratón, y después de seleccionar
> el texto, windows sigue procesando eventos, y entre otras cosas lo que
> hace es colocar el cursor (caret) en la posición donde se ha pulsado, lo
> que provoca que se quite la selección.
>
> En cambio, usando PostMsg(), te aseguras que primero sea windows quien
> procese todo lo que tenga que procesar, y tu mensaje se procese al final.
>
>
> --
> Un saludo,
>
> José F. Giménez
>
>
Xevi
Mensajes: 1706
Registrado: Jue Sep 08, 2005 12:58 pm

Edit asSELECTALL

Mensaje por Xevi »

Nooooooooooo he dicho naa!!!!
Error mio!!!
Tenía puesto
oSender:PostMsg( EM_SETSEL, 0, -1 )
En el evento OnEnter del Edit!!!
Lo debía de poner en el OnClick... Ahora SI FUNCIONA CORRECTAMENTE!!!
Eso se avisa!!!, Jejeje... pardillo... que soy un pardillo!!!
Gracias.
Un Saludo,
Xevi.
"Xevi" <xevicomas@terra.es> escribió en el mensaje
news:43d78f28$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>
>
> Jose,
>
> ¿Sería posible enviar la doble pulsación del Mouse al Edit???
>
> oSender:PostMsg( DOBLECLIC )
>
> Lo digo, porque ahora encuentro que si el Edit está alineado a la Izq. o
> Der.
> EM_SETCEL funciona distintamente.
> Además luego tengo que el comportamiento que obtengo al recibir el foco
> mediante TAB es el no deseado.
>
>
> Un Saludo,
> Xevi.
>
>
>
> "Jose F. Gimenez" <jfgimenez@wanadoo.es> escribió en el mensaje
> news:43d76baa$[email=1@ozsrvnegro.ozlan.local...]1@ozsrvnegro.ozlan.local...[/email]
>>
>> Xevi,
>>
>>> Ya lo he probado, pero no se selecciona TODO el texto cuando le doy
>>> Click en el Edit.
>>>
>>> METHOD EditKMEnter( oSender, oPrevCtl ) CLASS TFrmAltaORsCITROEN
>>> oSender:SetSel( 0, Len(oSender:cText) )
>>> RETURN Nil
>>
>> Como dice Ignacio, no es el comportamiento correcto de windows. No
>> obstante, si estás decidido a hacerlo, pon esto:
>>
>> oSender:PostMsg( EM_SETSEL, 0, -1 )
>>
>> La razón de que no te funcione SetSel() es que el evento OnEnter se
>> produce inmediatamente, al pulsar con el ratón, y después de seleccionar
>> el texto, windows sigue procesando eventos, y entre otras cosas lo que
>> hace es colocar el cursor (caret) en la posición donde se ha pulsado, lo
>> que provoca que se quite la selección.
>>
>> En cambio, usando PostMsg(), te aseguras que primero sea windows quien
>> procese todo lo que tenga que procesar, y tu mensaje se procese al final.
>>
>>
>> --
>> Un saludo,
>>
>> José F. Giménez
>>
>>
>
>
>
>
Responder