Progress Bar

From Apache OpenOffice Wiki
Jump to: navigation, search



The progress bar control com.sun.star.awt.UnoControlProgressBar displays a growing or shrinking bar to give the user feedback during an operation, for example, the completion of a lengthy task. The minimum and the maximum progress value of the control is set by the ProgressValueMin and the ProgressValueMax properties. The progress value is controlled by the ProgressValue property. By default, the progress bar is blue, but the fill color can be changed by setting the FillColor property. The functionality of a progress bar is demonstrated in the following example:

 Sub ProgressBarDemo()
     Dim oProgressBar As Object, oProgressBarModel As Object
     Dim oCancelButtonModel As Object 
     Dim oStartButtonModel As Object
     Dim ProgressValue As Long
     REM progress bar settings
     Const ProgressValueMin = 0
     Const ProgressValueMax = 40
     Const ProgressStep = 4
     REM set minimum and maximum progress value
     oProgressBarModel = 
         oDialog.Model.ProgressBar1oProgressBarModel.ProgressValueMin =  
             ProgressValueMin
     oProgressBarModel.ProgressValueMax = ProgressValueMax
     REM disable cancel and start button
     oCancelButtonModel = oDialog.Model.CommandButton1
     oCancelButtonModel.Enabled = False
     oStartButtonModel = oDialog.Model.CommandButton2
     oStartButtonModel.Enabled = False
     REM show progress bar
     oProgressBar = oDialog.getControl("ProgressBar1")
     oProgressBar.setVisible( True )
     REM increase progress value every second
     For ProgressValue = 
             ProgressValueMin To ProgressValueMax Step ProgressStep
         oProgressBarModel.ProgressValue = ProgressValue
         Wait 1000
     Next ProgressValue
     REM hide progress bar
     oProgressBar.setVisible( False )
     REM enable cancel and start button
     oCancelButtonModel.Enabled = True
     oStartButtonModel.Enabled = True
 End Sub
Content on this page is licensed under the Public Documentation License (PDL).
Personal tools