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

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.


Tip of the Day
Language: Visual Basic Classic (6 and earlier)
Expertise: Beginner
Aug 4, 2009

WEBINAR:

On-Demand

Application Security Testing: An Integral Part of DevOps


An OCX-less Progress Bar

If you need a progress bar in your VB6 application, but don't want to add the reference to Microsoft Windows Common Controls, here's a simple way to create a progress bar that doesn't require any extra components.

Author's Note: The sample program does use the slider bar from the Common Controls, but only for demonstration purposes—the slider control isn't required to implement the solution.

The trick is to use a VB6 line control, and then vary the length of the line to simulate a progress bar. You can get fancy with the bar's color or width. With some minor code changes, you can easily create a vertical rather than horizontal progress bar.

To set up the demo, go into VB and create a new project. For demonstration purposes only, add a reference to the Microsoft Windows Common Controls, and add a slider bar to the bottom of the form. Resize the slider bar so it fits across the form.

Paste the following code into the default form:

Option Explicit

Dim RightMost As Long
Dim Line1 As Control

Private Sub Form_Load()
    'This section adds a line control to the form.
    Set Line1 = Form1.Controls.Add("VB.Line", "Line1", Form1)
    Line1.X1 = 240
    Line1.X2 = 4080
    Line1.Y1 = 1080
    Line1.Y2 = 1080
    Line1.Visible = True

    'Save the rightmost point.
    RightMost = Line1.X2
    Line1.BorderWidth = 4
    
    'The fun part is here.
    Slider1.Max = 100
    Slider1.Min = 1
End Sub

Private Sub Slider1_Change()
    Call NewBar(Slider1.Value)
End Sub

Private Sub NewBar(XPercent)
    Line1.X2 = (RightMost - Line1.X1) * (XPercent / 100)
    If Line1.X2 < Line1.X1 Then Line1.X2 = Line1.X1
End Sub

Now run the program. As you slide the indicator across the screen, you'll see the line change to match the indicator.

Author's Note: If you add the line control to the form at design time, you can remove the Form_Load code down to the "Save the rightmost point" comment.

Brian Abernathy
 
Comment and Contribute

 

 

 

 

 


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

 

 

Sitemap
×
We have made updates to our Privacy Policy to reflect the implementation of the General Data Protection Regulation.
Thanks for your registration, follow us on our social networks to keep up-to-date