Главная страницаОбратная связьКарта сайта

Выбор элемента листбокса в момент прохода над ним мышки



Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const LB_ITEMFROMPOINT = &H1A9

Private Sub Form_Load()
With List1
.AddItem "Hello World"
.AddItem "Hello Again"
.AddItem "Just Example "
End With
End Sub

Private Sub List1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim xPosition As Long
Dim yPosition As Long
Dim i As Long

If Button = 0 Then ' если никакие кнопки не нажаты
xPosition = CLng(X / Screen.TwipsPerPixelX)
yPosition = CLng(Y / Screen.TwipsPerPixelY)

With List1
' взять выбранный элемент из листа
i = SendMessage(.hwnd, _
LB_ITEMFROMPOINT, 0, ByVal _
((yPosition * 65536) + xPosition))
'подсветить подсказку к элементу
If (i >= 0) And _
(i <= .ListCount) Then
.ToolTipText = .List(i)
Text1.Text = .List(i)
Else
.ToolTipText = ""
End If
End With
End If
End Sub


Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация программирование на Visual Basic - "Выбор элемента листбокса в момент прохода над ним мышки", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2023 Дискета.info