MARCAR LINHA MSHFLEXGRID1 NO CLICK

USUARIO.EXCLUIDOS 07/12/2006 18:10:47
#188655
estou tentando , porem nao estou conseguindo acertar 100% , gostaria que quando eu desse 1 click em uma linha de um MSHFlexGrid1 , ela ficasse marcado com uma cor que eu escolhe. Como posso fazer issow ?

Grato!!


:p
ONBASS 07/12/2006 18:26:14
#188656
cara tenta pelo evento RowClick ou coisa parecida..abs
USUARIO.EXCLUIDOS 07/12/2006 18:37:00
#188658
Simples:

Private Sub MSFlexGrid1_Click()
Dim i As Integer
For i = MSFlexGrid1.FixedCols To MSFlexGrid1.Cols - 1
MSFlexGrid1.Col = i
MSFlexGrid1.CellBackColor = [sua cor]
Next i
End Sub


Caso queira trocar de cor (se tiver de uma cor vai pra outra):

Private Sub MSFlexGrid1_Click()
Dim i As Integer
For i = MSFlexGrid1.FixedCols To MSFlexGrid1.Cols - 1
MSFlexGrid1.Col = i
If MSFlexGrid1.CellBackColor = [cor 1] Then
MSFlexGrid1.CellBackColor = [cor 2]
Else
MSFlexGrid1.CellBackColor = [cor 1]
End If
Next i
End Sub


OBS: o que está entre colchetes, vc deve alterar para as cores que quiser, exemplo: vbRed, vbBlue, vbGreen...etc.

Qualquer dúvida poste...flw
USUARIO.EXCLUIDOS 07/12/2006 19:28:36
#188675
Private Sub Flex_Click()
For i = 0 To Flex.Cols - 1
Flex.Col = i
Flex.CellBackColor = &H80FF& 'sua cor
Next
End Sub
USUARIO.EXCLUIDOS 07/12/2006 19:34:55
#188680
Citação:

RAZAK escreveu:
Private Sub Flex_Click()
For i = 0 To Flex.Cols - 1
Flex.Col = i
Flex.CellBackColor = &H80FF& [à']sua cor
Next
End Sub



Cara, foi exatamente o que eu fiz, vc só mudou o nome do grid...
USUARIO.EXCLUIDOS 07/12/2006 19:57:30
#188687
Citação:

MATIOLI escreveu:
RAZAK escreveu:
Private Sub Flex_Click()
For i = 0 To Flex.Cols - 1
Flex.Col = i
Flex.CellBackColor = &H80FF& [à']sua cor
Next
End Sub


Cara, foi exatamente o que eu fiz, vc só mudou o nome do grid...



Foi mal naum vi os comentarios...

o for ta diferente tbm hehehe

nao to querendo dismerecer ngm
USUARIO.EXCLUIDOS 07/12/2006 22:05:38
#188705
era issow mesmo que eu queria poremmm , quando eu clicar em outra linha do flexgrid, a cor que eu cliquei antes tem que sair, e ir para a linha atual.


Grato
USUARIO.EXCLUIDOS 07/12/2006 22:51:11
#188707
Resposta escolhida
Moçada, para isso basta usar o evento Grid1_EnterCell=quando entra na celula
e
Grid1_LeaveCell =quando sai da celula

ex:
Private Sub Grid1_EnterCell()
Grid1.CellBackColor = vbRed
End Sub


Private Sub Grid1_LeaveCell()
Grid1.CellBackColor = vbWhite
End Sub

USUARIO.EXCLUIDOS 08/12/2006 00:07:20
#188710
NIL , pow bronw boa a dica, nao sabia dissow dae ele so pinta a celula que clica, dae to usando assim ... misturei no que os colegas acima falaram.

Private Sub flexproddescricao_EnterCell()
For i = 0 To flexproddescricao.Cols - 1
flexproddescricao.Col = i
flexproddescricao.CellBackColor = vbRed 'sua cor
Next
'flexproddescricao.CellBackColor = vbRed
End Sub


Private Sub flexproddescricao_LeaveCell()
For o = 0 To flexproddescricao.Cols - 1
flexproddescricao.Col = o
flexproddescricao.CellBackColor = vbWhite 'sua cor
Next
'flexproddescricao.CellBackColor = vbWhite
End Sub


ta funcionando porem. quando eu clico em qualquer celular, ele me leva pra ultima coluna do flexgrid, porque issow acontece. como possow resolver issow ??


Grato!!
USUARIO.EXCLUIDOS 08/12/2006 00:11:11
#188711
Galera duvida sanada, fazendo alguns testei , quando o for termina eu jogo no click, para ir pra primeira coluna do flexgrid .... :p


vlw's ae mais uma vez

Topic Close

:D
Tópico encerrado , respostas não são mais permitidas