COMO USAR O MOUSEMOVE EM UM COMBOBOX?

GERALDUS 29/04/2012 13:24:05
#400987
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.
FILMAN 30/04/2012 21:53:26
#401079
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
EPISCOPAL 30/04/2012 23:13:39
#401087
se for sói o mouse_move acho que isto resolve ...
GERALDUS 02/05/2012 08:41:12
#401166
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.
FILMAN 02/05/2012 09:40:31
#401170
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?
GERALDUS 02/05/2012 10:24:02
#401172
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.
GANDA.NICK 02/05/2012 12:29:58
#401178
Resposta escolhida
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:
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é +

GERALDUS 02/05/2012 12:54:16
#401180
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.
GERALDUS 03/05/2012 09:07:46
#401249
Galera!! Obrigado a todos que tentaram ajudar. Vou postar um exemplo de tooltip que montei com ajuda da galera aqui.
FILMAN 03/05/2012 09:38:13
#401254
Muito bom esse exemplo GERALDUS

Parabéns
FILMAN 09/05/2012 19:40:52
#401702
Favor encerrar o tópico se duvida foi esclarecida



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