Happy Codings - Programming Code Examples
Html Css Web Design Sample Codes CPlusPlus Programming Sample Codes JavaScript Programming Sample Codes C Programming Sample Codes CSharp Programming Sample Codes Java Programming Sample Codes Php Programming Sample Codes Visual Basic Programming Sample Codes


Visual Basic Programming Code Examples

Visual Basic > Windows and Controls Code Examples

Showing long ListBox entries as a ToolTip

Showing long ListBox entries as a ToolTip Sometimes the data you want to display in a list is too long for the size of ListBox you can use. When this happens, you can use some simple code to display the ListBox entries as ToolTips when the mouse passes over the ListBox. First, start a new Visual Basic project and add a ListBox to the default form. Then declare the SendMessage API call and the constant (LB_ITEMFROMPOINT) needed for the operation: Option Explicit 'Declare the API function call. 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 ' Add API constant Private Const LB_ITEMFROMPOINT = &H1A9 Next, add some code to the form load event to fill the ListBox with data: Private Sub Form_Load() ' load some items in the list box With List1 .AddItem "Red" .AddItem "Yellow" .AddItem "Blue" End With End Sub Finally, in the MouseMove event of the ListBox, put the following code: Private Sub List1_MouseMove(Button As Integer, Shift As Integer, _ X As Single, Y As Single) ' present related tip message Dim lXPoint As Long, lYPoint As Long, lIndex As Long If Button = 0 Then ' if no button was pressed lXPoint = CLng(X / Screen.TwipsPerPixelX) lYPoint = CLng(Y / Screen.TwipsPerPixelY) With List1 ' get selected item from list lIndex = SendMessage(.hwnd, _ LB_ITEMFROMPOINT, _ 0, _ ByVal ((lYPoint * 65536) + lXPoint)) ' show tip or clear last one If (lIndex >= 0) And (lIndex <= .ListCount) Then .ToolTipText = .List(lIndex) Else .ToolTipText = "" End If End With End If End Sub