Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: VB4/32,VB5,VB6
Expertise: Intermediate
Jun 5, 1999

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 Long

Sub 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
    Next

End Sub
Marco Losavio
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date