The ABL itself does not contain such a particular widget. You could use the slider widget to some extent, but, personally IMHO it looks ugly. You can either use a 3rd part control ( depneding on the Progress/OpenEdge version ) you are able to use an OCX or even a .NET control. Nevertheless you can also roll your own - I did that.
I am not allowed to post any code here. But, the basic idea is to have two rectangles, the underlying which is the width of the widget and an overlaying one with a different fill color that gets resized whenever the progress bar needs to be updated. Works without a fuzz and is pure ABL - no dependency to any 3rd party piece of software.
Heavy Regards, RealHeavydude.