By default, VB ListBox controls don't display an horizontal scrollbar, so if the items you add to the controls are wider than the control's Width, the end user isn't able to read them in their entirety.
Adding an horizontal scrollbar to a ListBox control is easy, however. You only have to increase the so called the control's horizontal extent, which you do by sending it a LB_SETHORIZONTALEXTENT message. Here's a reusable routine that does the trick: |
Click here to copy the following block | 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_SETHORIZONTALEXTENT = &H194
Sub SetHorizontalExtent(lb As ListBox, ByVal newWidth As Long) SendMessage lb.hwnd, LB_SETHORIZONTALEXTENT, newWidth, ByVal 0& End Sub
Const LB_GETHORIZONTALEXTENT = &H193
Function GetHorizontalExtent(lb As ListBox) As Long GetHorizontalExtent = SendMessage(lb.hwnd, LB_GETHORIZONTALEXTENT, 0, _ ByVal 0&) End Function |
|