Page 1 of 1

FASTEDIT en BROWSES

Posted: Fri Jan 22, 2021 8:18 pm
by ArgConsulting
Hola amigos/as.
Tengo un browse con FASTEDIT, pero me parece que solo entra de forma automática al poner un numéro o caracter, pero necesito que también entre al campo poniendo el signo + y el -, por ejemplo se puede poner 3, pero NO se puede poner -3.
También necesito que se pueda empezar con el punto, por ejemplo ".ABC"
Si quito lo de FASTEDIT me obliga a pulsar INTRO para entrar a la celda para escribir.

En XHARBOUR no existe lo de FASTEDIT y funciona como un carácter más.

Seguramente este equivocado y sea muy sencillo, pero no doy con ello.

Os estaría muy agradecido si me resolvéis el problema.

Un saludo y a cuidarse

Re: FASTEDIT en BROWSES

Posted: Sat Jan 23, 2021 5:34 pm
by ArgConsulting
Me respondo

De momento y hasta que encuentre otro método lo he resuelto de la siguiente forma.

1.- He copiado xbrowse.prg a mi proyecto.
2.- El xbrowse copiado lo he modificado en la línea 3256 donde dice:

Code: Select all

         elseif ( ::lFastEdit .or. nKey == Asc( '=' ) ) .and. ;
            ( ::nMarqueeStyle <= MARQSTYLE_HIGHLROWRC .or. ::bClrRowFocus != nil ) .and. ;
            oCol:lEditable .and. oCol:IsEditKey( nKey ) //cKey )     <--- línea a cambiar

            oCol:Edit( nKey )
por

Code: Select all

         elseif ( ::lFastEdit .or. nKey == Asc( '=' ) ) .and. ;
            ( ::nMarqueeStyle <= MARQSTYLE_HIGHLROWRC .or. ::bClrRowFocus != nil ) .and. ;
            oCol:lEditable  //cKey )

            oCol:Edit( nKey )
De esta forma admite TODO lo cual quizás sea otro problema, pero se puede sustituir oCol:IsEditKey( nKey ) por una función propia donde sea yo quien decida que caracteres se admiten.

No se hacerlo de otra forma, si alguien sabe algo mejor, por favor incidarlo.

Muchas gracias por todo