Visual Basic - cambiar color de letra en MSFLExGrid

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

cambiar color de letra en MSFLExGrid

Publicado por anonymous (171 intervenciones) el 13/12/2006 23:34:32
Hola a todos:
No puedo cambiar en color de letra en una celda determinada de un MSFlexGrid. Este tiene un total de 7 líneas y 11 columnas, pero quiero que cuando un número sea = 5 cambie de color y lo ponga rojo y centrado en la celda. Haber si me puede alguien ayudar con esta sencilla duda. Saludos. Paco
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:cambiar color de letra en MSFLExGrid

Publicado por Pepe (2 intervenciones) el 14/12/2006 00:02:25
yo creo k deberiais investigar en la propiedad CellForeColor del gris y comprobar con un bucle k kuando la selda en cuestion sea = 5 le ponga vbRed.
si lo habés entendido nos posteàs de nuevo pero con mas datos.
chuau
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:cambiar color de letra en MSFLExGrid

Publicado por Ayudante (25 intervenciones) el 14/12/2006 00:09:16
Debes "activar" la celda en cuestión, una vez que hayas comparado que contiene el número deseado:

' Y el renglón que estás comparando.
' X la columna.
If Val(MSFlexGrid1.TextMatrix(Y, X)) = 5 Then
MSFlexGrid1.Row = Y
MSFlexGrid1.Col = X
MSFlexGrid1.CellForeColor = &HFF& ' Color rojo para el texto.
else
MSFlexGrid1.Row = Y
MSFlexGrid1.Col = X
MSFlexGrid1.CellForeColor = 0 ' Color negro
End If

' Y con la propiedad CellBackColor podrías cambiar el color del fondo de la celda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

hola Pepe, Ayudante, sigo igual

Publicado por anonymous (171 intervenciones) el 14/12/2006 01:10:13
Hola amigos: tal vez no fui explicito con mi problema, agrego el código para hacerme entender mejor:
For y = 1 To 6
MSFlexGrid1.ForeColor = RGB(0, 0, 0) ' aqui pongo la letra en negro
MSFlexGrid1.TextMatrix(y, 1) = "BIM " & y
d = 0
If y > a Then
b = b + 12
c = c + 12
End If
For x = b To c
Eval = primero(d) & y 'esta es una variable que contiene del 5 al 10
If Eval = "bim6" Then
Eval = "prom"
End If
If IsNull(Rs.Fields.Item(Eval)) Then Exit For ' si la variable no contiene nada
If Rs.Fields.Item(Eval).Value < 6 Then MSFlexGrid1.CellForeColor = RGB(255, 0, 0) ' aqui quiero que me ayuden, si la variable es = 5 pintar rojo
MSFlexGrid1.TextMatrix(y, x + 2) = Rs.Fields.Item(Eval).Value
d = d + 1
Next
Next

Bueno amigos, espero no ser muy inoportuno, espero me comprendan porque apenas me estoy enseñando en el VB6.
Gracias nuevamente pos su colaboracion. Saludos. Paco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:hola Pepe, Ayudante, sigo igual

Publicado por Ayudante (25 intervenciones) el 14/12/2006 17:53:11
Prueba de esta manera:

If Rs.Fields.Item(Eval).Value < 6 Then
MSFlexGrid1.Row = Y
MSFlexGrid1.Col = X + 2 ' Bueno, la columna adecuada
MSFlexGrid1.CellForeColor = RGB(255, 0, 0)
endif
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Listo Ayudante

Publicado por anonymous (171 intervenciones) el 15/12/2006 00:59:10
Gracias amigo por tu gran ayuda, mi código ha funcionado perfectamente con tu sugerencia, eres un experto.
Gracias nuevamente y saludos. Paco
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar