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.