Page 1 of 1

TGET

Posted: Thu Nov 23, 2006 2:33 pm
by Patricio Avalos Aguirre
Estimados

Como puedo dejar los get inactivos con color gris y no blanco como salen

REDEFINE GET aGet[id_numcot-20,1] ;
VAR _numcot ;
ID id_numcot OF oDlg UPDATE ;
COLOR CLR_BLACK, RGB(255,255,200) ;
PICTURE "9999999999" ;
VALID vCotiza( aGet, oLbx, aButton[1], oSay, cOpcion ); WHEN cOpcion <> "I"


he cambiado este variable de instancia pero sale de color blanco el fondo?
aGet[id_numcot-20,1]:lDisColors := .t.

si le coloco .f. este sale igual que los otros controles

http://img364.imageshack.us/my.php?image=pasotn4.jpg

desde ya gracias

Saludos
Patricio

Posted: Sat Nov 25, 2006 1:26 am
by Francisco Horta
Patricio,
prueba a meter el objeto y ahi prueba con oGet:SetColor(nColor1,nColor2)
salu2
Paco

Posted: Sat Nov 25, 2006 1:42 am
by tomafa
TBtnGet uso esta clase el problema que tengo es cuando el get piede el focus y me quiero posecionar por medio el mouse no me pinta nada y me quita la imagen las pongo las dos imagenes espero me explique
http://img245.imageshack.us/my.php?image=focushb4.png



esta es la otra imagen

esta es cuando quiero regresar al get con el mouse

http://img136.imageshack.us/my.php?image=focus2aw7.png

Posted: Sat Nov 25, 2006 8:43 pm
by manuramos
Yo, lo que hago, es que le digo que cuando reciba el foco que lo mande a otro lado. Por ejemplo:

oGet[1]:bGotFocus := { || oGet[2]:SetFocus() } (o algo así, depende la situación)

El efecto es muy correcto. El Get nunca tiene el foco, y puedes darle el color que te de la gana.

Re: TGET

Posted: Mon Nov 27, 2006 8:10 am
by FiveWiDi
Buenas,

Yo utilizo 3 funciones:
1ª Agrupa los controles que me interesan en una array y asigna color
2ª Read Only YES -> "Deshabilita" los controles
3ª Read Only NO -> Habilita los controles

1ª Esta se llama al crear la ventana/diálogo

FUNCTION lGroupGetEdit( oWnd, aGets )
Local nContador := 0

If ValType( oWnd:aControls ) = "A"

AEval( oWnd:aControls, {|oCtrl| If( ( "TGET" $ oCtrl:ClassName() ), ;
AADD( aGets, oCtrl ), Nil ) } )


AEval( oWnd:aControls, {|oCtrl| If( ( "TJ02GET" $ oCtrl:ClassName() ), ;
AADD( aGets, oCtrl ), Nil ) } )

AEval( oWnd:aControls, {|oCtrl| If( ( "TJ02GET" $ oCtrl:ClassName() ), ;
( oCtrl:nYFClrPane := J02CLRFONDOEDIT, ;
oCtrl:nYFClrText := J02CLRTEXTOEDIT ), ;
Nil ) } )

AEval( oWnd:aControls, {|oCtrl| If( oCtrl:ClassName() == "TGROUP", ;
lGroupGetEdit( oCtrl, aGets ), Nil ) } )

AEval( oWnd:aControls, {|oCtrl| If( oCtrl:ClassName() == "TFOLDER", ;
AEval( oCtrl:aDialogs, ;
{|oDlg| lGroupGetEdit( oDlg, aGets ) } ), ;
Nil ;
) ;
} ;
)

EndIf

2ª Esta se llama al crear la ventana/diálogo o cuando se acaba de modificar/editar _.

FUNCTION ROYes( AMPAarra, aGets )
Local nContador := 0

For nContador := 1 To Len( aGets )
If "CHECKBOX" $ aGets[nContador]:ClassName()
/* Si el checkbox está deshabilitado no cambia el color del fondo, por tanto se procede
a habilitar el control y a continuación a realizar el cambio de color.
------------------------------------------------------------------------------------
*/
aGets[nContador]:Enable()
aGets[nContador]:SetColor( J02CLRTEXTO,J02CLRFONDO )
aGets[nContador]:Disable()
Else
aGets[nContador]:lReadOnly := .T.
aGets[nContador]:lUpdate := .T.
EndIf
Endfor

Return Nil


3ª Esta se llama cuando se desea modificar/editar _.

FUNCTION RONo( AMPAarra, aGets )
Local nContador := 0

For nContador := 1 To Len( aGets )
If "CHECKBOX" $ aGets[nContador]:ClassName()
aGets[nContador]:SetColor( J02CLRTEXTOEDIT, J02CLRFONDOEDIT )
aGets[nContador]:Enable()
Else
aGets[nContador]:Enable()
aGets[nContador]:lReadOnly := .F.
aGets[nContador]:lUpdate := .F.
EndIf
Endfor

Return Nil

Saludos
Carlos G.