MOUSEMOVE EM CADA ITEM DE UM COMBOBOX VB6
Olá pessoal!
Pedi ajuda da galera aqui sobre implementar uma especie de tooltip em cada item de um combox aberto e talll..., tive muita ajuda e consegui desenvolver alguma coisa, porém ainda não ficou como eu gostaria. Estou anexando ao tópico um exemplo que peguei aqui, nele eu consigo criar um indice com cada item que mouse passa, mas eu gostaria de quando passar o mouse no item apareça na label do lado o item que estou passando o mouse e não apenas o indice, por exemplo: quando eu passar o mouse no item [Ô]maria[Ô] quero que apareça na label do lado a palavra [Ô]maria[Ô] e não apenas o indice dela.
Alguém poderia olhar esse script e ver se consegue me ajudar com isso?
Djá eu fico grato.
Pedi ajuda da galera aqui sobre implementar uma especie de tooltip em cada item de um combox aberto e talll..., tive muita ajuda e consegui desenvolver alguma coisa, porém ainda não ficou como eu gostaria. Estou anexando ao tópico um exemplo que peguei aqui, nele eu consigo criar um indice com cada item que mouse passa, mas eu gostaria de quando passar o mouse no item apareça na label do lado o item que estou passando o mouse e não apenas o indice, por exemplo: quando eu passar o mouse no item [Ô]maria[Ô] quero que apareça na label do lado a palavra [Ô]maria[Ô] e não apenas o indice dela.
Alguém poderia olhar esse script e ver se consegue me ajudar com isso?
Djá eu fico grato.
Assim
Private Sub Timer1_Timer()
Dim pt As POINTAPI
Dim i As Integer
GetCursorPos pt
For i = 0 To Combo1.ListCount - 1 [ô]mudei aqui, afinal você pode ter mais de de 7 itens.
If (Me.Top + Me.Combo1.Top + cTitleBar + cItemAltura * i + Me.Combo1.Height) / 15 < pt.Y And (Me.Top + Me.Combo1.Top + cTitleBar + cItemAltura * (i + 1) + Me.Combo1.Height) / 15 >= pt.Y Then
Label1 = [Ô]Item: [Ô] & Combo1.List(i) [ô]Aqui ele te mostra o text do item
Exit For
Else
Label1 = [Ô]nao ta em nada[Ô]
End If
Next [ô]i
End Sub
Private Sub Timer1_Timer()
Dim pt As POINTAPI
Dim i As Integer
GetCursorPos pt
For i = 0 To Combo1.ListCount - 1 [ô]mudei aqui, afinal você pode ter mais de de 7 itens.
If (Me.Top + Me.Combo1.Top + cTitleBar + cItemAltura * i + Me.Combo1.Height) / 15 < pt.Y And (Me.Top + Me.Combo1.Top + cTitleBar + cItemAltura * (i + 1) + Me.Combo1.Height) / 15 >= pt.Y Then
Label1 = [Ô]Item: [Ô] & Combo1.List(i) [ô]Aqui ele te mostra o text do item
Exit For
Else
Label1 = [Ô]nao ta em nada[Ô]
End If
Next [ô]i
End Sub
Salver VELDRAME! Muito obrigado pela ajuda!
Ainda deu um probleminha quando tenho muitos itens, é o seguinte: se tenho muitos itens o combo já abre com uma barra de rolagem, até ai normal, acontece que seu rolo a barra para passar o mouse nos itens que estão abaixo ai não funciona direito, ou coisa que esqueci de falar, não estou conseguinte delimitar a largura do combo, se passo o mouse do lado dele aberto, mesmo que totalmente fora do combo a reação é como se estivesse passando mouse sobre os itens. Se você puder dar mais uma olhada eu fico muito grato, se não tudo bem, em todo caso você já ajudou muito.
Ainda deu um probleminha quando tenho muitos itens, é o seguinte: se tenho muitos itens o combo já abre com uma barra de rolagem, até ai normal, acontece que seu rolo a barra para passar o mouse nos itens que estão abaixo ai não funciona direito, ou coisa que esqueci de falar, não estou conseguinte delimitar a largura do combo, se passo o mouse do lado dele aberto, mesmo que totalmente fora do combo a reação é como se estivesse passando mouse sobre os itens. Se você puder dar mais uma olhada eu fico muito grato, se não tudo bem, em todo caso você já ajudou muito.
Para [Ô]Delimitar a largura da Combo[Ô]:
Se o Mouse passar fora ele desabilita o timer
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Timer1.Enabled = False
End Sub
Quanto a qtd de itens não consegui reproduzir o problema
Se o Mouse passar fora ele desabilita o timer
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Timer1.Enabled = False
End Sub
Quanto a qtd de itens não consegui reproduzir o problema
Quanto a quantidade de itens...
é assim... Esse exemplo que ta aqui no anexo já tem 10 itens, 8 numeros e 2 nomes no final, da forma que está se eu abrir o combo e passar o mouse nos itens que inicia em 0 ele vai mostrando na label os indices 0, 1, 2... até chegar em 7 que é o ultimo numero que aparece sem eu precisar rolar a barrinha, ai se eu rolo barra para ver os outros eu vou encontrar [Ô]Ana[Ô] e [Ô]Maria[Ô] e ao passar o mouse em Ana deveria aparecer o indice 8 e Maria o o indice 9, mas não acontece, quando eu passo o mouse em Ana aparece o indice 6 e Maria o indice 7, quando na verdade deveria aparecer 8 e 9 continuando a sequencia. Usei os indices para explicar, mas com os nomes também é a mesma coisa.
Obrigado por tentar ajudar.
é assim... Esse exemplo que ta aqui no anexo já tem 10 itens, 8 numeros e 2 nomes no final, da forma que está se eu abrir o combo e passar o mouse nos itens que inicia em 0 ele vai mostrando na label os indices 0, 1, 2... até chegar em 7 que é o ultimo numero que aparece sem eu precisar rolar a barrinha, ai se eu rolo barra para ver os outros eu vou encontrar [Ô]Ana[Ô] e [Ô]Maria[Ô] e ao passar o mouse em Ana deveria aparecer o indice 8 e Maria o o indice 9, mas não acontece, quando eu passo o mouse em Ana aparece o indice 6 e Maria o indice 7, quando na verdade deveria aparecer 8 e 9 continuando a sequencia. Usei os indices para explicar, mas com os nomes também é a mesma coisa.
Obrigado por tentar ajudar.
Tópico encerrado , respostas não são mais permitidas