[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 294
  • Last Modified:

SsVertical Sxroll bar for a form

I would like to minimize the number of forms. Can I put a vertical scroll bar for the whole form. I tried to use the scroll bar, but I think I did not apply it correctly.

Gonzal13(Joe)
0
gonzal13
Asked:
gonzal13
  • 4
  • 4
1 Solution
 
JR2003Commented:
Have you tried using a Tab control instead?
These are very useful if you want to fit a lot on one form.
The best one to use is the SSTab control.
0
 
gonzal13RetiredAuthor Commented:
Here are some more Details: I have for example a list of lbl boxes with their associated txt boxs. I then through a msgbox have the commands tosave the data and then read the data. Latar the files will be open for access to calculations. I was hoping for something like MS Windows with its vertical scroll bars. Of the three books that I have none explain how to add data beyond the maximum size of the template. Templates take memory.

gonzal13(joe)
0
 
JR2003Commented:
Here's a first cut that works:

You need to place a vertical scrollbar on a form
Place a frame control on the form
Place a textbox INSIDE the frame so the frame contains the textbox
Set the index property of the textbox to 0 (zero)

Paste the following code into your form:

Option Explicit

Private bLoaded As Boolean
Private Sub Form_Load()
   
    With Form1
        .WindowState = vbMaximized
    End With
   
End Sub

Private Sub Form_Resize()

    With VScroll1
        .Max = 100
        .Min = 0
        .Top = 0
        .Left = Me.ScaleWidth - .Width
        .Height = Me.ScaleHeight
    End With
    With Frame1
        .BorderStyle = 0
        .Top = 0
        .Height = Me.ScaleHeight * 2
        .Width = VScroll1.Left
    End With
    If Not bLoaded Then
        Text1(0).Top = 20
        Dim i As Long
        For i = 1 To 100
            Load Text1(i)
            With Text1(i)
                .Visible = True
                .Text = "Text Box " & i
            End With
            With Text1(i - 1)
                Text1(i).Top = .Top + .Height + 50
                If .Top + .Height + 100 > Screen.Height * 2 Then
                    Exit For
                End If
            End With
        Next i
    End If
    bLoaded = True
End Sub

Private Sub VScroll1_Change()

    With Frame1
        .Top = -VScroll1.Value * .Height / (2 * VScroll1.Max)
    End With

End Sub
0
The new generation of project management tools

With monday.com’s project management tool, you can see what everyone on your team is working in a single glance. Its intuitive dashboards are customizable, so you can create systems that work for you.

 
gonzal13RetiredAuthor Commented:
JR2003

Your reply is more than I expected. I did not realize that there would be any easy way to accomplish my goal.

I increased the points for the work that you did. I will test it out by cutting and pasting to avoid any typos.

Thanks again. Great work.
0
 
gonzal13RetiredAuthor Commented:
Jr2003:

I basically did a cut an past action.

I ran it and got an error message 'object required'

Private Sub Form_Load()
   
    With Form1
        .WindowState = vbMaximized  'OBJECT REQUIRED
    End With
   
End Sub


0
 
JR2003Commented:
Your form must be called form1.
It's probably called something different so just change this line to:

    Me.WindowState = vbMaximized  'OBJECT REQUIRED
0
 
JR2003Commented:
Sorry, my mistake the form load should just read:

Private Sub Form_Load()  

        Me.WindowState = vbMaximized
   
End Sub


All that function does is to maximize the form to illustrate how to scroll.

The the code works is all you controls are placed on a frame control so the frame contains the control. The frame controls is oversized to a size bigger than the actual screen size. This is your scrollable area. The scrollbar then just changes the value of the top of the frame.
0
 
gonzal13RetiredAuthor Commented:
Jr2003:

Well thank yiou very much. You are very explicit in your programming and do not assume that the questioner actually knows allot about VB6.

gonzal13(joe)
0

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

  • 4
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now