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_SETITEMHEIGHT = &H1A0
Const CB_SETITEMHEIGHT = &H153
' Set the height in pixels of each entry in a ListBox or ComboBox control
Sub SetListItemHeight(ctrl As Control, ByVal newHeight As Long)
Dim uMsg As Long
If TypeOf ctrl Is ListBox Then
uMsg = LB_SETITEMHEIGHT
ElseIf TypeOf ctrl Is ComboBox Then
uMsg = CB_SETITEMHEIGHT
Else
Exit Sub
End If
' (only the low-order word of lParam can be used.)
SendMessage ctrl.hwnd, uMsg, 0, Byval CLng(newHeight And &HFFFF&)
' It is necessary to manually refresh the control.
ctrl.Refresh
End Sub