You can simplify Win32 APIs by using enumerated types instead of constants. When you use enumerated types, VB provides you with a list of values when you define the API in your application:
Option Explicit' define scrollbar constants as enumerationsEnum sb SB_BOTH = 3 SB_CTL = 2 SB_HORZ = 0 SB_VERT = 1End EnumEnum esb ESB_DISABLE_BOTH = &H3 ESB_DISABLE_DOWN = &H2 ESB_DISABLE_LEFT = &H1 ESB_ENABLE_BOTH = &H0 ESB_DISABLE_RIGHT = &H2 ESB_DISABLE_UP = &H1End Enum
Note that you need to change the Declares to match the new Enums:
Private Declare Function EnableScrollBar Lib _ "user32" (ByVal hWnd As Long, ByVal _ wSBflags As sb, ByVal wArrows As esb) As _ LongPrivate Declare Function _ ShowScrollBar Lib "user32" (ByVal hWnd _ As Long, ByVal wBar As sb, ByVal bShow _ As Boolean) As Long
When coding up these API calls, VB displays enumerated lists for both the wSBflags and wArrows parameters to EnableScrollBar, and displays both the wBar and bShow parameters to ShowScrollBar:
Call EnableScrollBar(Me.hWnd, SB_BOTH, _ ESB_ENABLE_BOTH)Call ShowScrollBar(Me.hWnd, SB_BOTH, True)