리스트박스(ListBox) 위에 마우스 올려놓으면 항목이 TextBox에 나타나는 코드이다. 아마도.. 툴팁(ToolTip) 에서 이용되는듯 하다.
코딩시 ListBox, TextBox 컨트롤 2개 추가 시키면된다.
Option Explicit
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
Const LB_ITEMFROMPOINT = &H1A9
Private Sub Form_Load()
With List1
.AddItem "Visit"
.AddItem "뭉충닷컴 입니다."
.AddItem "http://www.mungchung.com"
End With
End Sub
Private Sub List1_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
Dim lXPoint As Long
Dim lYPoint As Long
Dim lIndex As Long
If Button = 0 Then ' if no button was pressed
lXPoint = CLng(X / Screen.TwipsPerPixelX)
lYPoint = CLng(Y / Screen.TwipsPerPixelY)
With List1
lIndex = SendMessage(.hwnd, LB_ITEMFROMPOINT, 0, ByVal ((lYPoint * 65536) + lXPoint))
If (lIndex >= 0) And (lIndex <= .ListCount) Then
.ToolTipText = .List(lIndex)
Text1.Text = .List(lIndex)
Else
.ToolTipText = ""
End If
End With
End If
End Sub
Source Page : http://www.mentalis.org/tips/tip065.shtml