Página 1 de 1

Edit asSELECTALL

Publicado: Mié Ene 25, 2006 11:29 am
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.

Edit asSELECTALL

Publicado: Mié Ene 25, 2006 12:07 pm
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.
>
>
>

Edit asSELECTALL

Publicado: Mié Ene 25, 2006 12:27 pm
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.
>>
>>
>>
>
>
>

Edit asSELECTALL

Publicado: Mié Ene 25, 2006 12:28 pm
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.
>
>

Edit asSELECTALL

Publicado: Mié Ene 25, 2006 12:39 pm
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.
>>>
>>>
>>>
>>
>>
>>
>
>
>

Edit asSELECTALL

Publicado: Mié Ene 25, 2006 12:48 pm
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)Â

Edit asSELECTALL

Publicado: Mié Ene 25, 2006 1:14 pm
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

Edit asSELECTALL

Publicado: Mié Ene 25, 2006 2:46 pm
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
>
>

Edit asSELECTALL

Publicado: Mié Ene 25, 2006 2:55 pm
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

Edit asSELECTALL

Publicado: Mié Ene 25, 2006 3:46 pm
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
>
>

Edit asSELECTALL

Publicado: Mié Ene 25, 2006 3:58 pm
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
>>
>>
>
>
>
>