by manuramos » Sat Dec 16, 2006 10:01 am
Eso supone hipotecar las funciones de bGotFocus y bLostFocus. Si estás dispuesto a modificar la clase GET puedes hacerlo permanente sin recurrir a esos codeblocks que algún día los vas a necesitar y ya los tendras utilizados con esto del color.
Esto es lo que yo utilizo:
Nuevos datas:
DATA nClrFore,nClrBack // Colores con Gets sin foco (colores del sistema)
DATA nClrGFore,nClrGBack // Colores para Gets con foco
Nuevo método INITIATE:
METHOD Initiate( hDlg ) CLASS TUCLASE
Super:Initiate( hDlg )
::nClrFore := ::nClrText // toma colores del sistema
::nClrBack := ::nClrPane
RETURN NIL
Nuevo método GOTFOCUS:
METHOD GotFocus( hCtlLost ) CLASS TUCLASE
IF ::nClrGFore # NIL
::SetColor(::nClrGFore,::nClrGBack) // activa colores Gets con foco
ENDIF
RETURN Super:GotFocus( hCtlLost )
Nuevo método LOSTFOCUS:
METHOD LostFocus( hCtlFocus ) CLASS TUCLASE
LOCAL xRet := Super:LostFocus( hCtlFocus )
IF ::nClrGFore # NIL
::SetColor(::nClrFore,::nClrBack) // activa colores Gets sin foco
ENDIF
RETURN xRet
Ésto si haz creado tu propia clase heredada, sinó, sólo copia las lineas resaltadas referentes a los colores (en GotFocus: al rpincipio; en Initiate y LostFocus: al final, tras lo ya existente, para asegurar).
Parece mucho, pero no lo es, si copias lo aquí escrito y lo pegas en tu clase Get es muy rápido.
Suerte...
Nos Gusta Programar