ccrpminilogo.gif (1886 bytes)  Progress Bar/VB6
 Download       Control List  
Designer: Jeremy Adams
Tuesday January 06, 2004


143k (w/ demo and help)


VB6 runtime

Some enhanced features require comctl32.dll version 4.71 or greater.


CCRP Animation, VB6
CCRP Animation, VB5
CCRP HotKey, VB6
CCRP HotKey, VB5
CCRP IP Address, VB6
CCRP IP Address, VB5
CCRP Pager, VB6
CCRP Pager, VB5
CCRP Progress Bar, VB6
CCRP Progress Bar, VB5
CCRP UpDown, VB5
CCRP UpDown, VB5

VB6 version v1.33.273
May 7, 2000

VB6 version 1.32.272
January 28, 2000

VB6 version 1.30.267
January 8, 2000

VB6 version 1.21.264
November 24, 1999

VB6 version 1.20.263
August 26, 1999

VB6 version 1.17.0255
July 3, 1999

VB6 Release  v1.16.0250
February 12, 1999

VB6 Release  v1.15.249
February 12, 1999


The VB6 CCRP Progress Bar Control has been created by Jeremy Adams as a direct replacement for the Progress Bar Control provided in comctl32.ocx.

This control also includes new features found in newer versions of comctl32.dll which is supplied by Microsoft with IE3+. These features include the ability to display the progress bar vertically and/or smoothly.

CCRP ProgressBar Demo (11588 bytes)

ctlprogbar2.gif (4549 bytes)

New in this Release

  • Added prgNoBorder and prgNoAutoCaption constants to avoid conflicts with prgNone.
  • Fixed overflow error when using control with COMCTL32.DLL v4.00.
  • Fixed redraw bug involving caption in block mode.

Fixed in 1.32.272

  • Problems with the Smooth property behaving incorrectly were fixed.
  • Various properties that were inadvertently broken in v.1.30 were fixed..

Fixed in 1.30.267

  • Range checking on properties that take enumerated constants was added.
  • Errors are no longer raised before the UserControl_ReadProperties event has completed execution.
  • Various changes suggested by Numega CodeReview to improve the control were made.
  • Various optimisations were added.

Fixed in 1.21.264

  • Problems with 'losing' the 3D effects should now be fixed.

Fixed in 1.20.263

  • The control now updates the display when the properties are changed without the developer having to call the Refresh method (see revision history for v1.16).
  • The control no longer returns an Error 97 when used in certain Office products. This should allow the control to be used fully within any Office application.

Fixed in 1.17.255

  • The control now responds correctly to the WM_SYSCOLORCHANGE message.
  • Another resource leak in the pie/clock style drawing code was fixed.

Fixed in 1.16.250

  • Setting the Value property without changing it no longer causes a repaint.
  • A bug relating to the AutoTooltip property was fixed. When the AutoTooltip property was set to ccrpNone, it would set the ToolTip for the control to an empty string rather than leave it at the programmer-defined value.
  • Several discrepancies between the way the control handled mouse events and other controls handle mouse events reported by Terry Rasmussen were fixed.
  • A bug in the appearance property was fixed.
  • The Refresh method now forces the caption to be redrawn. This is an issue since setting the properties at runtime will not be detected by the control and hence the changes will not be reflected on the screen until the Refresh method is called.
  • Grab Handles were not appearing in design-time when the control was part of a multiple selection. This has been fixed.
  • Resource leaks in the pie-style drawing code was fixed.


  • The shape property now clips the entire control rather than just the progress bar.
  • A bug whereby the control was not redrawing the background bitmap when enlarged was fixed.
  • Setting Max=0 caused a GPF. A runtime error is now raised instead.
  • Incorrect version info was being returned for comctl32.dllL v5.00. This has been fixed.
  • Caption property to display text within the progress bar.
  • AutoCaption to automatically update the caption as the value changes (for displaying percentages etc).
  • Smooth and Vertical styles available if comctl32.dll on machine is IE3+ version or above (handled automatically).
  • NewComCtl property available to determine whether or not the comctl32.dll installed is the IE3+ version.
  • AutoToolTip - as AutoCaption but for the ToolTip.
  • ForeColor/Alignment properties relating to Caption.
  • Increment and Increase methods and IncrementSize property.
  • Appearance property to set whether or not the control is drawn with 3D effects
  • AutoCaptionSuffix property to automatically add a suffix to the AutoCaption.
  • AutoTooltipSuffix property to automatically add a suffix to the AutoTooltip.
  • New FireEvent mode for AutoCaption and AutoToolTip allowing the developer to write code to change the caption as the value changes.
  • AutoSize property to automatically resize the control height as the width changes so that the segments look best.
  • BackColor property to set the Background Color of the progress bar. (This property requires v4.71 of comctl32.dll to be present - see the discussion on comctl32.dll versions below for more info).
  • FillColor property to set the color of the progress bar. (This property requires v4.71 of comctl32.dll to be present - see the discussion on comctl32.dll versions below for more info).
  • The Min, Max and Value properties support the full 32-bit long integer range (v4.70 of comctl32.dll is recommended to use this feature but the control will emulate the functionality if v4.70 or higher is not present).
  • Percentage property to return/set the percentage complete rather than setting the value property directly.
  • Standard MousePointer and MouseIcon properties
  • Shape property to set how the control is clipped when it is repainted. The control can be clipped to give the effect of an ellipse or rounded rectangle.
  • Style property. When set to 1 - prgGraphical, the control will draw the bar from the image in the Picture property. By setting this to a image, the control will automatically paint a section of the image depending on the value property.
  • ReverseFill property. Applies only when Style = 1 - prgGraphical. The progress bar is filled from right to left or top to bottom when this property is true.


  • You must ensure that any picture you use in graphical mode is large enough to cover the entire progress bar. If not, you will get unpredictable results.
  • The NewComCtl property is now obsolete and has been replaced by the ComCtlVer property

Release History 
Version v1.14.248
September 2, 1998

  • Re-added missing Font probery errantly omitted from the last release

Version v1.13.246
August 29, 1998

  • Fixed problem that was causing the font of other controls to change at runtime.

Version 1.12.245
August 19, 1998

  • Fixed minor bug.
  • Added the AutoCaptionSeparator property..

Version 1.11.242
August 19, 1998

  • Fixed a couple of minor bugs.
  • Added the BackPicture, FillStyle and CaptionOrientation properties.

Version 1.10.240
August 16, 1998

  • Fixed: Small display problems
  • Added new display styles

April 19, 1998

  • Fixed: Caption drawing problem

April 4, 1998

  • Added: context-sensitive help

March 30, 1998

  • Fixed: An obscure bug which may cause the caption not to redraw correctly under certain conditions
  • Improved: Drawing code optimization added.

Note: VB6-Compile Help
The methods and properties provided in the Visual Basic 6-compiled version of this control are identical to those found in the VB5 SP2/3 version. Therefore, in order for us to release this control sooner rather than later, the VB5 help is included in the zip with the VB6 control.

This help file has not been updated, so contains references to ccrpani.ocx-specific items, such as GUID and filenames. Although we normally assure a complete version-specific file is available for each new build, expediency was deemed of greater importance for this control. The help file will be updated at a later date.

Included Demos
A demo is included that demonstrates much of the functionality of the control.

The code to display the File Open Common Dialog was written by CCRP member Domenico Statuto. His CCRP FileDialog Control wraps this and much more functionality into the ocx to provide advanced features not exposed by comdlg32.dll, such as allowing the addition of extra controls to the dialog.

Registering the Control
Use RegSvr32 or the Browse button in the Components dialog box to register the control. If you get an error whilst attempting to register the VB5 version, it is possible that you do not have SP2 installed (see note below about SP2 issues).

SP2 Issues
The VB5 version of the CCRP Progress Bar control uses the apartment threading features found in SP2 and will not function without SP2 or higher installed.

Help Files
Videosoft ( have kindly provided the CCRP with a copy of their VSDOCX software for documenting ActiveX controls. This help file was created using VSDOCX.

CCRP would like to extend their sincere thanks to Videosoft for their generosity.

comctl32.dll Versions
Microsoft frequently provides updates to comctl32.dll. These updates add new features to the controls found in comctl32.dll. At the time of writing, there are four versions of comctl32.dll available:

  • version 4.00 - Installed by Windows 95
  • version 4.70 - Installed by Internet Explorer 3
  • version 4.71 - Installed by Internet Explorer 4
  • version 4.72 - A version released after Internet Explorer 4 which for the first time is redistributable.

The ComCtlVer property will return the currently installed version of comctl32.dll.

Version-Specific Features:
Certain features implemented in this control require a minimum version of comctl32.dll to function correctly. No error will occur if the version is previous to this but the control will degrade gracefully and not use that feature or there is alternative functionality built into the control that emulates the functionality in higher versions of comctl32.dll and this functionality is used as appropriate.

  • The Smooth and Vertical properties require version 4.70 of comctl32.dll.
  • The BackColor and FillColor properties require version 4.71 of comctl32.dll.
  • The Max, Min and Value properties all now support the full 32-bit integer range but version 4.70 of comctl32.dll is required for this to be supported. However, if this version of comctl32.dll is not present, the control will emulate the full 32-bit range.
  • You can emulate the functionality of the FillColor property using graphical mode with an appropriate image if you wish.

Obtaining the comctl32.dll Redistributable Update
In order to redistribute version 4.72 of comctl32.dll, you must download a self-extracting EXE from Microsoft's web site. You must then call the EXE from within your set-up program.

VB Common Controls Replacement Project ProgressBar Control
Copyright 1998-2004 Jeremy Adams, CCRP