Gracias a Xevi e Ignacio.
Tenia un problema. Hay controles que no tienen eventos visuales y no
podía implementar.
Gracia a Juanjo (JJ), el compañero de Bingen que me ha abierto un
poquito los ojos. Bueno, me lo ha hecho él y me lo ha explicado.
Gracias de nuevo.
Paco V
El 01/12/2012 19:08, Xevi escribió:
> Paco,
>
> perdona...
>
> en mi ejemplo, si te fijas utilizo el evento OnChange() del GridEdit...
>>> oSender:oGridEdit:OnChange := {|| ::xEditDescrip(oSender) }
>
> Simplificado...
> Hazlo así
>
> METHOD ArrayBrowse1Column1Edit( oSender, Value, lMultiEdit ) CLASS TForm1
> oSender:oGridEdit:OnChange := {|| LogDebug( Len(
> oSender:oGridEdit:cText ) ) }
> RETURN Nil
>
> //---------------------------------------------------------- --------------------
>
> METHOD ArrayBrowse1Column1Exit( oSender, oGridEdit, oNextCtl ) CLASS TForm1
> //Retornamos el estado inicial de OnChange del GridEdit, en este caso Nil
> oSender:oGridEdit:OnChange := Nil
> RETURN Nil
>
> Verás como SI funciona, comprobado!!!
>
>
> Un Saludo,
> Xevi.
>
> "Paco V." <
ssi-estono-@ono.com> ha escrit al missatge del grup de discussió:
> 50b9c4c1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>> Xevi, gracias por tu ayuda, pero no me funciona.
>> Parece que este evento solo se produce al entrar en edición. Yo necesito
>> saber el nº de caracteres que van escribiendo.
>>
>> Paco V
>>
>>
>> El 30/11/2012 22:36, Xevi escribió:
>>> Paco,
>>>
>>> debes capturar el evento OnEdit de la columna en cuestión.
>>> Así es como lo estoy utilizando en un Browse que me interesa ir mostrando
>>> un
>>> "semaforillo" mostrando los caracteres que me quedan por escribir al
>>> editar
>>> la columna 2.
>>>
>>> METHOD Browse2Column4Edit( oSender, Value, lMultiEdit ) CLASS
>>> TFrmORAlbarans
>>> If ::lTextLliure
>>> ::oLblLen:nTop := ::oSplitter1:nTop + ::oSplitter1:nHeight +2 +
>>> ::oBrowse2:nTop + (::oBrowse2:nRowSel * ::oBrowse2:nRowHeight) +3
>>> ::oLblLen:cText := AllTrim( Str( Len( aPictu[1,4] ) - Len(
>>> AllTrim(
>>> Value ) ) ) )
>>> ::oLblLen:nClrPane := If( Val( ::oLblLen:cText ) < 11, If( Val(
>>> ::oLblLen:cText ) < 6, 0x0000EA/*Vermell*/, 0x0080ff/*Taronja*/ ),
>>> 0x00FF80/*Verd*/ )
>>> ::oLblLen:lVisible := .T.
>>> oSender:oGridEdit:OnChange := {|| ::xEditDescrip(oSender) }
>>> EndIf
>>> ::lTextLliure := .F.
>>> RETURN Nil
>>>
>>>
>>> Ahora bien... simplificando, para saber los caracteres que llevas
>>> escritos...
>>>
>>> METHOD Browse2Column4Edit( oSender, Value, lMultiEdit ) CLASS
>>> TFrmORAlbarans
>>> LogDebug( Len( AllTrim( Value ) ) )
>>> RETURN Nil
>>>
>>>
>>> Un Saludo,
>>> Xevi.
>>>
>>> "Paco V." <
ssi-estono-@ono.com> ha escrit al missatge del grup de
>>> discussió:
>>> 50b911f1$[email=1@svctag-j7w3v3j....]1@svctag-j7w3v3j....[/email]
>>>> Como podría saber el nº de caracteres que se van escribiendo en una
>>>> celda
>>>> de un browse?
>>>>
>>>> Saludos:
>>>>
>>>> Paco V
>>>>
>>>> __________ Información de ESET NOD32 Antivirus, versión de la base de
>>>> firmas de virus 7751 (20121130) __________
>>>>
>>>> ESET NOD32 Antivirus ha comprobado este mensaje.
>>>>
>>>>
http://www.eset.com
>>>>
>>>>
>>>>
>>>
>>> __________ Información de ESET NOD32 Antivirus, versión de la base de
>>> firmas de virus 7751 (20121130) __________
>>>
>>> ESET NOD32 Antivirus ha comprobado este mensaje.
>>>
>>>
http://www.eset.com
>>>
>>>
>>>
>>>
>>
>> __________ Información de ESET NOD32 Antivirus, versión de la base de
>> firmas de virus 7752 (20121201) __________
>>
>> ESET NOD32 Antivirus ha comprobado este mensaje.
>>
>>
http://www.eset.com
>>
>>
>>
>
>
> __________ Información de ESET NOD32 Antivirus, versión de la base de firmas de virus 7752 (20121201) __________
>
> ESET NOD32 Antivirus ha comprobado este mensaje.
>
>
http://www.eset.com
>
>
>
>