Color de un oGet

Color de un oGet

Postby servicomver » Thu Jan 05, 2006 7:40 pm

En un oDlg tengo un dbcombo el cual al tener el foco el color es: fondo amarillo y letras negras, al perder el foco cambia a su color normal osea letras negras con fondo blanco, mi pregunta es la siguiente:
como puedo hacer (por comando) que un oGet cambie de color de igual forma, es decir al tener el foco sea tambien letras negras fondo amarillo y al perderlo cambie tambien a letras negras fondo blanco, esto es debido que en la pantalla de captura se tienen muchos oGets y el Usuario luego no distingue donde va la captura o en que parte esta el cursor de la pantalla (tomando en cuenta que son personas mayores y realmente no ven muy bien) por eso surgio la duda, agradezco mucho sus atenciones, saludos
servicomver@hotmail.com
veracruz, mexico
servicomver
 
Posts: 190
Joined: Fri Nov 18, 2005 7:34 pm

Postby Antonio Linares » Thu Jan 05, 2006 7:53 pm

oGet:bGotFocus = { || oGet:SetColor( ..., ... ) }

oGet:bLostFocus = { || oGet:SetColor( ..., ... ) }
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42120
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Color de un oGet

Postby lubin » Fri Jan 06, 2006 4:50 pm

Buen dia.

Con el permiso de Antonio, Me gustaria comentarte, que tuve la misma necesidad el año pasado y en la anterior NEWs me pasaron este dato:

modificar la clase Tget : en el Metodo GotFocus() cambiar al final del metodo en setcolor()

esto me ha funcionado muy bien y la ventaja que este efecto se aplica a todo tu programa, y no es necesario hacerlo para cada get

me gustariia que el estimado Antonio nos pueda convalidar este procedimiento ....

aqui te mando una copia de ese metodo del tGet modificado, la linea de rojo es lo que se ha modificado.... esta al final...

METHOD GotFocus() CLASS TGet

if ! Empty( ::cPicture ) .and. ::oGet:type == "N"
::oGet:Picture := StrTran( ::cPicture, ",", "" )
endif

if ! ::lDrag
::oGet:KillFocus() // to properly initialize internal status
::oGet:SetFocus()
::DispText()
if ::oGet:type$"DN"
::nPos := 1
endif
::oGet:Pos = ::nPos
::SetPos( ::nPos )
CallWindowProc( ::nOldProc, ::hWnd, WM_SETFOCUS )
if Set( _SET_INSERT )
DestroyCaret()
CreateCaret( ::hWnd, 0, 6, ::nGetChrHeight() )
ShowCaret( ::hWnd )
endif
else
HideCaret( ::hWnd )
endif

Super:GotFocus()
::setcolor(nRGB(0,0,0),nRGB( 231,226,141)) // cuando toma el foco pone el fondo amarillo
return 0
User avatar
lubin
 
Posts: 450
Joined: Fri Dec 09, 2005 12:41 am
Location: Lima, Peru


Return to FiveWin para CA-Clipper

Who is online

Users browsing this forum: No registered users and 12 guests