Correctly set scrollbars’ width and height

Correctly set scrollbars’ width and height

You should always modify a vertical scrollbar’s width and a horizontal scrollbar’s height to conform to the display resolution. You can learn the suggested size (in pixels) using the GetSystemMetrics API function, then convert it to twips, and rezise all the scrollbars on your forms accordingly. The following routine, however, does everything automatically:

Private Declare Function GetSystemMetrics Lib "user32" (ByVal nIndex As Long) _    As LongSub ResizeAllScrollbars(frm As Object)    Dim hsbHeight As Single    Dim vsbWidth As Single    Dim ctrl As Control    Const SM_CXVSCROLL = 2    Const SM_CYHSCROLL = 3        ' Determine suggested scrollbars' size (in twips)    hsbHeight = GetSystemMetrics(SM_CYHSCROLL) * Screen.TwipsPerPixelY    vsbWidth = GetSystemMetrics(SM_CXVSCROLL) * Screen.TwipsPerPixelX    ' iterate on all the controls on the form    For Each ctrl In Controls        Select Case TypeName(ctrl)            Case "HScrollBar"                ctrl.Height = hsbHeight            Case "VScrollBar"                ctrl.Width = vsbWidth            Case "FlatScrollBar"                If ctrl.Orientation = 1 Then                    ctrl.Height = hsbHeight                Else                    ctrl.Width = vsbWidth                End If        End Select    NextEnd Sub

See also  Redefining Energy Management: Advanced Solutions for Modern Buildings

About Our Editorial Process

At DevX, we’re dedicated to tech entrepreneurship. Our team closely follows industry shifts, new products, AI breakthroughs, technology trends, and funding announcements. Articles undergo thorough editing to ensure accuracy and clarity, reflecting DevX’s style and supporting entrepreneurs in the tech sphere.

See our full editorial policy.

About Our Journalist