ayuda vb6

Iniciado por ime, 19 Febrero 2013, 19:55 PM

0 Miembros y 1 Visitante están viendo este tema.

ime

Hola amigos una ayuda

como puedo pintar las filas de un MSHFlexGrid en vb6 validando una base de datos
por ejemplo  pintar todos lo que tengan un valor a 1 digamos

y que todas la filas se pinten solo los que tengan un uno.




ademas me gustaria saber como pintar filas de MSHFlexGrid cuando voy pasando el mouse. GRACIAS amigos un saludos.

Danyfirex

El titulo debería ser mas descriptivo.  :¬¬
Hay mucho material en google sobre el tema.

ime

With flex
For i = 1 To flex.Rows - 1
            For j = 1 To flex.Cols - 1
                flex.Row = i
                flex.Col = j
                If .Text = "1" Then
                    flex.CellBackColor = &HC0FFC0
                Else
                    'flex.CellBackColor = &H80FF80
                End If
            Next j
        Next i
    End With

Este codigo estoy utilizando pero no me pinta toda la fila solo me pinta una celda como hacer para que pinte todas las filas que equivalen a uno...Gracias

ime

esta es la imagen solo me selecciona el registro que vale SOS, quiero que me seleccione toda la fila que vale SOS.

este es el codigo, utilizo 2 timer para parpadear la fila que vale SOS

Private Sub Timer4_Timer()
Dim i
Dim j

For i = 1 To flex.Rows - 1
            For j = 1 To flex.Cols - 1
                flex.Row = i
                flex.Col = j
               
                If flex.Text = "SOS" Then
                 
                     flex.CellBackColor = vbRed
                End If
            Next j
        Next i
    Timer4.Enabled = False
    Timer5.Enabled = True
    Timer2.Enabled = True
End Sub


Private Sub Timer5_Timer()

    For s = 1 To flex.Cols - 1
    For c = 1 To flex.Rows - 1
   
        flex.Row = c
        flex.Col = s
    If flex.Text = "SOS" Then
    flex.CellBackColor = vbYellow
    End If
       Next c
    Next s
    Timer4.Enabled = True
    Timer5.Enabled = False
    Timer2.Enabled = True
   
End Sub


Danyfirex

#4
bueno vamos a darte una manito  :rolleyes:

podrías hacerlo así.

Código (vb) [Seleccionar]
Dim i As Long
'MsgBox (flex.Rows) numero de filas
'MsgBox flex.TextMatrix(1, 2) tipo matriz
For i = 1 To flex.Rows - 1
Debug.Print flex.TextMatrix(i, 2) 'leo siempre en la columna 2 y respectivamente con I
If flex.TextMatrix(i, 2) = "SOS" Then ' si quieres pintar toda la fila solo haces el inverso.
flex.Col = 2
flex.Row = i
flex.CellBackColor = vbRed
End If
Next i


saludos

ime

gracias amigo, saludos para ti gracias por tu ayuda.