PROBLEMAS DE SELECAO COM O BOTAO DIREITO DO MOUSE

USUARIO.EXCLUIDOS 10/08/2007 14:12:53
#230371
Galera ontem eu pdi um codigo para faze a seleção de um flex grid com o botao direito , uma pessoa me passou esse codigo, o problema eh q esse codigo somente faz a seleção das 10 primeiras linhas, se eu tiver mais que isso ela não seleciona, alguem sabe como fazer para essa selecao ir direito?
USUARIO.EXCLUIDOS 10/08/2007 14:20:27
#230373


Fala Rocker..

Foi o Marcelo que passou o código. Isso é pq na verdade ele pega pela posição de altura do flex.

vou fazer testes aki com o código pra tentar resolver...

qtas linhas mais ou menos seu flex mostra?
USUARIO.EXCLUIDOS 10/08/2007 14:21:02
#230374
Resposta escolhida
Na verdade não é que esse código só faz a seleção das 10 primeiras linhas, mas sim que ele faz o tratamento ds linhas visíveis ou não, ai realmente deve conter um erro se a linha estiver para baixo da barra de rolagem.

Para evitar este erro, vc tem que considerar apenas as linhas visíveis...

Tente com o exemplo abaixo:
Private Sub MSFlexGrid1_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button <> 2 Then Exit Sub

Dim SomaAlturaLinhas As Long
For i = 0 To MSFlexGrid1.Rows - 1
If MSFlexGrid1.RowIsVisible(i) Then
SomaAlturaLinhas = SomaAlturaLinhas + MSFlexGrid1.RowHeight(i)
End If

If SomaAlturaLinhas > y Then
MsgBox "Linha " & i
Exit For
End If
Next
End Sub

USUARIO.EXCLUIDOS 10/08/2007 14:22:54
#230377
Então Sinkertec, com o código acima, vai funcionar independente do número de Linhas!!
USUARIO.EXCLUIDOS 10/08/2007 14:26:21
#230379
vlw galera obrigado pela colaboração
USUARIO.EXCLUIDOS 10/08/2007 14:27:43
#230381


Chegou onde eu queria..era exatamente isso q eu tava vendo aki...

então blz...ta resorvido

abraços pros dois!
USUARIO.EXCLUIDOS 10/08/2007 14:27:53
#230382
ah e meu flex mostra n linhas e colunas depende da vontade do usuário
USUARIO.EXCLUIDOS 10/08/2007 14:30:08
#230383
Então diogo, esse código deve resolver seu problema independente do número de linhas ou de colunas...

Faz um teste ae...
Tópico encerrado , respostas não são mais permitidas