COMO USAR O MOUSEMOVE EM UM COMBOBOX?
Olá pessoal! Estou com um probleminha com combobox e mousemove no vb6 que não consigo resolver. é o seguinte: quero usar o mousemove na lista de opções que aparece quando abro o combobox e não apenas quando o mouse passa sobre o combobox. Espero ter me feito entender. Já procurei na web e encontrei alguns exemplos, mas que funcionam somente no combo e não nos itens dele, que é o que eu quero. Se alguém puder me ajudar eu ficarei muito grato.
Cara não sei não mais o combobox não tem o evento mousemove será que esta falando do compenete certo
caso esteja poste o código que você tem para que possamos verificar
caso esteja poste o código que você tem para que possamos verificar
se for sói o mouse_move acho que isto resolve ...
Obrigado a galera que tentou ajudar. Valeu pela tentativa e pelo exemplo WOLFFIRE! Mas ainda não resolve meu problema, o que eu quero de fato é usar o mousemove (ou qualquer efeito parecido) nos itens do combobox, quando o combo estiver aberto. Tipo assim: quando eu abro o combo e vou passando o mouse sobre os itens, eu consiga capturar o index (ou mesmo o nome do item) do item que o mouse tá sobre e tal... Alguém já viu algo parecido? Ficarei muito grato a todos.
Particularmente nunca vi não mais tem como recuperar ao selecionar o item
Você gostaria de fazer o que com isso, mostrar em um statusBar conforme for passando o mouse nos itens?
Você gostaria de fazer o que com isso, mostrar em um statusBar conforme for passando o mouse nos itens?
Na verdade a ideia é mostrar um tooltip com a descrição de cada item sempre que o mouse passar sobre ele, o tooltip eu já tenho plenamente funcional, só não consigo fazer ele funcionar dessa forma, nos itens do combobox. Já vi um exemplo em .NET mas não consegui adaptar para usar no vb6.
boas, veja lá se isto a ajuda:
inicie um novo projecto e coloque um timer com um intervalo curto (ex: 100), uma label e uma combobox
code:
terá que arranjar para o eixo do X, mas a logica é a mesma.
tenha em atenção se mudar os tipos de letra e/ou tamanho terá que mudar o valor da constante
se precisar de scrollbar na combobox penso que este metodo não irá ser util (8 itens)
espero que isto o ajude..
té +
inicie um novo projecto e coloque um timer com um intervalo curto (ex: 100), uma label e uma combobox
code:
Option Explicit
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Declare Function GetCursorPos Lib [Ô]user32[Ô] (lpPoint As POINTAPI) As Long
Const cTitleBar As Integer = 420, cItemAltura As Integer = 195
Private Sub Combo1_Click()
Timer1.Enabled = False
End Sub
Private Sub Combo1_DropDown()
Timer1.Enabled = True
End Sub
Private Sub Combo1_LostFocus()
Timer1.Enabled = False
End Sub
Private Sub Form_Load()
Dim i As Integer
For i = 0 To 7
Me.Combo1.AddItem i
Next [ô]i
Me.Combo1.Top = 100 * 15
Me.Combo1.Left = 100 * 15
Me.Combo1.Width = 150 * 15
Timer1.Enabled = False
End Sub
Private Sub Timer1_Timer()
Dim pt As POINTAPI
Dim i As Integer
GetCursorPos pt
For i = 0 To 7
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: [Ô] & i
Exit For
Else
Label1 = [Ô]nao ta em nada[Ô]
End If
Next [ô]i
End Sub
terá que arranjar para o eixo do X, mas a logica é a mesma.
tenha em atenção se mudar os tipos de letra e/ou tamanho terá que mudar o valor da constante
se precisar de scrollbar na combobox penso que este metodo não irá ser util (8 itens)
espero que isto o ajude..
té +
Valeu!!! GANDA_NICK!! Isso foi perfeito!! Poxa! Muito obrigado! Vou ajustar aqui para a minah necessidade e depois vou postar o código pra galera que precisar.
Galera!! Obrigado a todos que tentaram ajudar. Vou postar um exemplo de tooltip que montei com ajuda da galera aqui.
Muito bom esse exemplo GERALDUS
Parabéns
Parabéns
Favor encerrar o tópico se duvida foi esclarecida
Obrigado
Obrigado
Tópico encerrado , respostas não são mais permitidas