Page 1 of 1

Condiciones en el listbox

Posted: Mon Sep 17, 2007 7:12 pm
by Susy
Hola Fivewineros, como estan pues, necesito la ayuda de ustedes, que creo haberlo visto una vez en este foro una imagen con el listbox, con su respectiba condicion de colores no recuerdo de quien fue el que proporciono la rutina o funcion, el caso es que quiero implementarlo en mi programa como muestra en este ejemplo con el listbox, con diferentes colores que cumplan la condicion x Tasa para cada x articulo y asi sucesibamente y se que si se puede, yo no logro dar con mis resultados, alguien me podra echar la mano , por favor se los agradecere mucho

Clave Descripcion Tasa
25 x articulo 10 amarillo
25 x articulo 10 amarillo
25 x articulo 10 amarillo
32 x articulo 15 verde
32 x articulo 15 verde
32 x articulo 15 verde
24 x articulo 0 rojo
24 x articulo 0 rojo
24 x articulo 0 rojo
mas......

Espero su ayuda y la colaboracion de ustedes amigos fivewineros y un millon de gracias con el codigo o ejemplo para implementarlo en mi programa.
Su amiga Susy
susan_mx@hotmail.com

Posted: Mon Sep 17, 2007 9:21 pm
by Armando
Susy:

Yo utilizo TWbrowse del master HDC y lo hago así

.....
.....
oLbx:bBkColor := {|nRow,nCol,nStyle| BackColor(nCol,nStyle)}
oLbx:bTextColor := {|nRow,nCol,nStyle| ForeColor(nCol,nStyle)}
.....
.....


STATIC FUNCTION BackColor(nCol,nStyle)
DO CASE
CASE nCol == 7
IF nStyle == 0 .AND. (cMaterial)->MAT_SEU < (cMaterial)->MAT_MDK
RETURN(CLR_GREEN)
ELSE
RETURN(NIL)
ENDIF
.....
.....
.....

En esta función te pongo solo una parte pues mi código es extenso pero con este pequeño ejemplo podras colorear cada una de las columnas, por cierto; la función ForeColor() es exactamente igual.

Saludos

¿Es lo mas simple ?

Posted: Thu Sep 20, 2007 5:00 pm
by Susy
Armando wrote:Susy:

Yo utilizo TWbrowse del master HDC y lo hago así

.....
.....
oLbx:bBkColor := {|nRow,nCol,nStyle| BackColor(nCol,nStyle)}
oLbx:bTextColor := {|nRow,nCol,nStyle| ForeColor(nCol,nStyle)}
.....
.....


STATIC FUNCTION BackColor(nCol,nStyle)
DO CASE
CASE nCol == 7
IF nStyle == 0 .AND. (cMaterial)->MAT_SEU < (cMaterial)->MAT_MDK
RETURN(CLR_GREEN)
ELSE
RETURN(NIL)
ENDIF
.....
.....
.....

En esta función te pongo solo una parte pues mi código es extenso pero con este pequeño ejemplo podras colorear cada una de las columnas, por cierto; la función ForeColor() es exactamente igual.

Gracias corazon pues es lo mas simple que pude haverlo echo antes?, y si fuera algo mas complejo alguna rutina o mas sugerencias de los fivewineros, gracias corazon se agradece si alguien mas tiene mas complejidad en los colores de listbox aplicando condiciones de criterio para colorear celdas
Su amiga Susy
susan_mx@hotmail.com

Saludos

¿Es lo mas simple ?

Posted: Thu Sep 20, 2007 5:00 pm
by Susy
Armando wrote:Susy:

Yo utilizo TWbrowse del master HDC y lo hago así

.....
.....
oLbx:bBkColor := {|nRow,nCol,nStyle| BackColor(nCol,nStyle)}
oLbx:bTextColor := {|nRow,nCol,nStyle| ForeColor(nCol,nStyle)}
.....
.....


STATIC FUNCTION BackColor(nCol,nStyle)
DO CASE
CASE nCol == 7
IF nStyle == 0 .AND. (cMaterial)->MAT_SEU < (cMaterial)->MAT_MDK
RETURN(CLR_GREEN)
ELSE
RETURN(NIL)
ENDIF
.....
.....
.....

En esta función te pongo solo una parte pues mi código es extenso pero con este pequeño ejemplo podras colorear cada una de las columnas, por cierto; la función ForeColor() es exactamente igual.

Gracias corazon pues es lo mas simple que pude haverlo echo antes?, y si fuera algo mas complejo alguna rutina o mas sugerencias de los fivewineros, gracias corazon se agradece si alguien mas tiene mas complejidad en los colores de listbox aplicando condiciones de criterio para colorear celdas
Su amiga Susy
susan_mx@hotmail.com

Saludos