by DanielPuente » Wed May 24, 2006 8:32 am
Rene:
Mirate el funcionamiento de estas variables / codigos de bloque:
oBrf:bTextColor:={|nRow,nCol| IF(nCol=1,CLR_HRED,)}
oBrw:nClrPane:={|| Detcol()}
oBrw3:bBkColor:= {|nRow,nCol,nStyle| If( nStyle==0 .and. (nCol==5.OR.ncol==7), ;
CLR_YELLOW, ) }
STATIC Function Detcol()
Local cColor
///DO CASE
///CASE ENCAPEDI->ESTADO == 0 // SIN MOVIMIENTOS
cColor:=RGB(251,249,215)//CLR_YELLOW
///CASE ENCAPEDI->ESTADO == 1 // CON RECEPCIONES PARCIALES
/// cColor:=CLR_LBLUE
///CASE ENCAPEDI->ESTADO == 2 // recibida totalmente
/// cColor:=CLR_LGRAY
///CASE ENCAPEDI->ESTADO == 3 // fecha entrega vencida -rojo-
/// cColor:=RGB(255,130,130)
///ENDCASE
RETURN cColor
//10) Nuevas variables ::bTextColor y ::bBkColor. Son bloques de codigo que
// se eval£an en tiempo de pintado. Pueden devolver una valor NUMERICO,
// que representa el color RGB con el cual se pintar el texto o fondo,
// segun el bloque. Si devuelve otro valor, los colores ser n los especi-
// ficados en las respectivas varialbes de instancia de la clase.
// Se env¡an 3 argumentos: {|nRow,nCol,nStyleLine| ... }
// nStyleLine, puede asumir los siguientes valores:
// 0 -> Celda standard normal
// 1 -> Celda Header
// 2 -> Celda Footer
// 3 -> Celda standard normal seleccionada
// Ver Pto. 41)
//11) Nueva variable ::nClrLine. Especifica un color especifico para las lineas
// separadoras de celdas. Por defecto se utilizan los colores de linea
// especificos, segun el valor de ::nLineSyle. (Jose -)
// ::nClrFFore y ::nClrFBack -> Color RGB de texto y fondo respectiva-
// mente de los (Pies) Footers. Son analogas a las
// variables ::nClrForeHead y ::nClrBackHead, usadas en
// las Cabeceras (Headers).
//17) Nuevas variables ::nClrNFFore y ::nClrNFBack. NF (no focus). Indican
// el color RGB de Texto y Fondo respectivamente de la(s) Celda(s)
// seleccionada(s) cuando NO HAY FOCO sobre el control. Ambas son analogas
// a las variables ::nClrForeFocus y ::nClrBackFocus.
// Resumiendo Color(es) de Celda(s) Seleccionada(s):
// +-------------------------+--------------+-----------------+
// | Color celda seleccionada| CON FOCO | SIN FOCO |
// +-------------------------+--------------+-----------------+
// | Colores de Texto (Fore) | ::nClrNFFore | ::nClrForeFocus |
// | Colores de Fondo (Back) | ::nClrNFBack | ::nClrBackFocus |
// +-------------------------+--------------+-----------------+
//40) Nueva variable: ::bFont. Es un bloque de codigo opcional, que se ejecuta
// en tiempo de pintado, y envia 3 argumentos: {|nRow,nCol,nStyleLine| ... }
// nStyleLine, puede asumir los siguientes valores:
// 0 -> Celda standard normal
// 1 -> Celda Header
// 2 -> Celda Footer
// 3 -> Celda standard normal seleccionada
// Este bloque puede devolver un valor NUMERICO, que representa el handle o
// manejador de una fuente de Windows (HFONT). Cualquier otro valor que no
// sea numerico ser rechazado, y se asumir que debe usarse la fuente del
// control standard. Como vemos esto trae una altisima flexibilidad en cuanto
// a las fuentes del grid, la cual si quisieramos, cada celda podr¡a asumir
// fuentes de distinto tipo, tama¤o y estilo.
Con eso podes manipular a tu gusto, fuentes, y colores de lineas completas, columnas completas o celdas.
Saludos,