Ricardo
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 11/10/2010 14:19 hs
Olá gostaria de saber como faço para alterar a fonte para bold e italico ao clicar em uma determinada linha do gride. mas só a linha selecionada ao passa para outra volta ao normal.
vlew
|
|
|
|
Macaubal
|
MACAUBAL SP - BRASIL
|
|
ENUNCIADA !
|
|
|
Postada em 26/10/2010 10:04 hs
Ricardo voce tem que selecionar que trabalhar com a linha e coluna que desej alterar
'Está rotina irá colocar toda a segunda linha em negrito, as proximas linhas irão continuar normal
Grid.Row = 2 For Coluna = 1 to Grid.Cols -1 Grid.Col = Coluna Grid.CellFontBold = True Next Coluna
|
|
|
|
Postada em 26/10/2010 12:04 hs
Na verdade esse ai funciona mais quando seleciona uma linha e seleciona outra não funciona.
Esse aqui acabei de ajeitar e ate coloca cor vermelho a linha selecionada do texto
Na declaracao de variaves coloca dim FILANOVA,FILAANTE AS STRING
Private Sub MSHFlexGrid1_Click() FILANOVA = MSHFlexGrid1.Row For Coluna = 1 To MSHFlexGrid1.Cols - 1 MSHFlexGrid1.Col = Coluna MSHFlexGrid1.CellFontBold = True MSHFlexGrid1.CellForeColor = vbRed Next Coluna If FILAANTE = 0 Then FILAANTE = FILANOVA ElseIf FILAANTE <> FILANOVA Then MSHFlexGrid1.Row = FILAANTE For Coluna = 1 To MSHFlexGrid1.Cols - 1 MSHFlexGrid1.Col = Coluna MSHFlexGrid1.CellFontBold = Fals MSHFlexGrid1.CellForeColor = vbBlue Next Coluna FILAANTE = FILANOVA End If End Sub
NO ROWCOLLCAHNGE DO MSHFLEGRID TBM DEVE FUNCIONAR...
|
|
|
ricardo
não registrado
|
|
ENUNCIADA !
|
|
|
Postada em 26/10/2010 12:17 hs
Juan teu codigo deu certo com o que eu queria em termos: Quanto a seleção está OK Só tem dois problemas quando eu clico ele muda a cor mais perde o foco da grade e quando eu clico em outra linha eu queria selecionar a nova e deixar a anterior como estava antes. Vou fazer uns testes aqui depois posto. Mais valew
|
|
|
|
Postada em 26/10/2010 12:24 hs
Olha fiz o teste e funciona no evento click, agora no funciona no rowcollchange. Em quanto a cor. nas propiedade do grid eu deixei no mod desing a cor VbBlue: no seu caso pode que seja o padrao cor negrito. assim =MSHFlexGrid1.ForeColor = vbBlue . Acontece que no seu caso debe estar o grid as linhas em preto e quando vc clica fica vbred e quando clica em outra linha a anterior fica azul e não preta. se vc não mexeu na cor da letra do grid faz assim
Private Sub MSHFlexGrid1_Click() FILANOVA = MSHFlexGrid1.Row For Coluna = 1 To MSHFlexGrid1.Cols - 1 MSHFlexGrid1.Col = Coluna MSHFlexGrid1.CellFontBold = True MSHFlexGrid1.CellForeColor = vbRed Next Coluna If FILAANTE = 0 Then FILAANTE = FILANOVA ElseIf FILAANTE <> FILANOVA Then MSHFlexGrid1.Row = FILAANTE For Coluna = 1 To MSHFlexGrid1.Cols - 1 MSHFlexGrid1.Col = Coluna MSHFlexGrid1.CellFontBold = Fals MSHFlexGrid1.CellForeColor = vbBlack Next Coluna FILAANTE = FILANOVA End If End Sub
|
TÓPICO EDITADO
|
|
|
|
|
Postada em 26/10/2010 12:35 hs
RESOLVIDO POSICIONAMENTO DA LINHA,
DECLAR OUTRA VARIAVEL PARA A LINHA FIXA NAS DECLARACOES DE VARIAVEIS.
DIM FILAFIXA AS INTEGER
JA A SOLUCAO É ASSIM:
Private Sub MSHFlexGrid1_Click() FILANOVA = MSHFlexGrid1.Row FILAFIXA = MSHFlexGrid1.Row For Coluna = 1 To MSHFlexGrid1.Cols - 1 MSHFlexGrid1.Col = Coluna MSHFlexGrid1.CellFontBold = True MSHFlexGrid1.CellForeColor = vbRed Next Coluna If FILAANTE = 0 Then FILAANTE = FILANOVA ElseIf FILAANTE <> FILANOVA Then MSHFlexGrid1.Row = FILAANTE For Coluna = 1 To MSHFlexGrid1.Cols - 1 MSHFlexGrid1.Col = Coluna MSHFlexGrid1.CellFontBold = Fals MSHFlexGrid1.CellForeColor = vbBlack Next Coluna FILAANTE = FILANOVA End If MSHFlexGrid1.Row = FILAFIXA End Sub
|
|
|