{{tag>category:"presentation server" }}
====== Progress Bar controls ======
=== Published 07 JUN 2013 at 02:27:10PM ===
One of the new controls supported by OpenInsight 10 is the Windows Progress Bar control which is used to display the progress of lengthy operations.
[caption id="attachment_803" align="aligncenter" width="247"][[http://revdevx.files.wordpress.com/2013/04/pb_normal.png|{{16595.6021990741_1.png}}]] Windows 7 Aero Progress Bar[/caption]
[caption id="attachment_901" align="aligncenter" width="238"][[http://revdevx.files.wordpress.com/2013/06/pb_xp_olive.png|{{16595.6021990741_2.png}}]] Windows XP Progress Bar[/caption]
It is a fairly simple control and supports the following properties:
* **BORDER**
* **ERRORCOLOR**
* **MARQUEE**
* **NORMALCOLOR**
* **PAUSEDCOLOR**
* **RANGE**
* **SHOWTEXT**
* **SMOOTH**
* **STATE**
* **STEP**
* **SYNCTASKBAR**
* **TEXT**
* **TRANSLUCENCY**
* **VALUE**
* **VERTICAL**
And the following methods:
* **DECREMENT**
* **INCREMENT**
==== BORDER property ====
Setting this boolean property to TRUE ("1") draws a border around the control. This is the default value.
[caption id="attachment_902" align="aligncenter" width="238"][[http://revdevx.files.wordpress.com/2013/06/pb_no_border.png|{{16595.6021990741_3.png}}]] Translucent XP Progress Bar without a border[/caption]
==== ERRORCOLOR property ====
This property is a standard color value and sets the color of the bar when it is in the "error" state (see the **STATE** property below). Depending on the visual style in use this property normally defaults to a red color.
[caption id="attachment_807" align="aligncenter" width="239"][[http://revdevx.files.wordpress.com/2013/04/pb_barcolor.png|{{16595.6021990741_4.png}}]] Windows Classic smooth style Progress Bar with an ERRORCOLOR of 255 (red)[/caption]
==== MARQUEE property ====
This property is an integer value that contains the time in milliseconds between marquee animation updates. Setting it to 0 stops the marquee animation.
[caption id="attachment_804" align="aligncenter" width="247"][[http://revdevx.files.wordpress.com/2013/04/pb_marquee.png|{{16595.6021990741_5.png}}]] Aero Progress Bar with a MARQUEE property of 50 (i.e. it animates every 50 ms)[/caption]
[caption id="attachment_903" align="aligncenter" width="238"][[http://revdevx.files.wordpress.com/2013/06/pb_xp_marquee.png|{{16595.6021990741_6.png}}]] Windows XP Progress Bar with a MARQUEE property of 50[/caption]
==== NORMALCOLOR property ====
This property is a standard color value and sets the color of the bar when it is in the "normal" state (see the **STATE** property below). Depending on the visual style in use this property normally defaults to a green color, though in other schemes like "XP Olive" this defaults to an orange color instead.
[caption id="attachment_912" align="aligncenter" width="254"][[http://revdevx.files.wordpress.com/2013/06/pb_purple_normalcolor1.png|{{16595.6021990741_7.png}}]] Windows 7 Aero progress Bar with a purple NORMALCOLOR (255,0,255)[/caption]
==== PAUSEDCOLOR property ====
This property is a standard color value and sets the color of the bar when it is in the "paused" state (see the **STATE** property below). Depending on the visual style in use this property normally defaults to an amber or yellow color.
[caption id="attachment_906" align="aligncenter" width="254"][[http://revdevx.files.wordpress.com/2013/06/pb_aero_paused.png|{{16595.6021990741_8.png}}]] Windows 7 Aero segmented Progress Bar with a STATE of "3" (paused)[/caption]
==== RANGE property ====
This property is an @fm-delimited array of two integers containing the upper and lower limits of the progress bar.
<1> Low limit
<2> High Limit
The **VALUE** property must be between these two values.
==== SHOWTEXT property ====
Setting this property to TRUE ("1") will display the contents of the **TEXT** property in the center of the progress bar. The default is FALSE ( "0").
==== SMOOTH property ====
Setting this property to TRUE ("1") causes the progress indicator to be drawn as a continuous bar rather than in the usual segmented style.
[caption id="attachment_806" align="aligncenter" width="239"][[http://revdevx.files.wordpress.com/2013/04/pb_smooth.png|{{16595.6021990741_9.png}}]] Windows Classic Smooth Progress Bar - i.e. a SMOOTH style of TRUE ("1")[/caption]
[caption id="attachment_910" align="aligncenter" width="254"][[http://revdevx.files.wordpress.com/2013/06/pb_aero_segmented.png|{{16595.6021990741_10.png}}]] Windows 7 Aero segmented Progress Bar - i.e. a SMOOTH style of FALSE ("0")[/caption]
==== STATE property ====
This property sets the visual state of the progress bar. It can be one of the following values:
* "1" - Normal (green)
* "2" - Error (red)
* "3" - Paused (yellow)
Each of these states has a default color as indicated above but this can be changed by one of the bar color properties (**NORMALCOLOR**, **ERRORCOLOR** and **PAUSEDCOLOR**).
//Examples://
[caption id="attachment_808" align="aligncenter" width="247"][[http://revdevx.files.wordpress.com/2013/04/pb_error.png|{{16595.6021990741_11.png}}]] Windows 7 Aero Progress bar with a STATE property of 2[/caption]
[caption id="attachment_809" align="aligncenter" width="247"][[http://revdevx.files.wordpress.com/2013/04/pb_paused.png|{{16595.6021990741_12.png}}]] Windows 7 Aero Progress bar with a STATE property of 3[/caption]
==== STEP property ====
This property is a simple integer and is used in conjunction with the **INCREMENT** method. If the latter is called with no value the progress bar is incremented by the amount specified in this property.
==== SYNCTASKBAR property ====
When set to TRUE ("1") the parent form's taskbar button is automatically updated to mirror the state of the Progress Bar control (as per our [[http://revdevx.wordpress.com/2013/05/03/taskbar-integration-progress-bars/|previous post]] on Taskbar Integration).
[caption id="attachment_812" align="aligncenter" width="268"][[http://revdevx.files.wordpress.com/2013/04/pb_synctaskbar.png|{{16595.6021990741_13.png}}]] Windows 7 Aero Progress Bar with SYNCTASKBAR set to TRUE ("1")[/caption]
This property has no effect unless the application is running on Windows 7 or higher.
==== TEXT property ====
This property is the same as the standard TEXT property. However, any occurrences of the substring "%p%" within the text will be replaced with the current percentage complete.
[caption id="attachment_899" align="aligncenter" width="254"][[http://revdevx.files.wordpress.com/2013/06/pb_text.png|{{16595.6021990741_14.png}}]] Windows 7 Aero Progress Bar with a TEXT property of "%p% Complete"[/caption]
==== TRANSLUCENCY property ====
This property specifies the transparency of the control's //background// (i.e. the progress bar itself is not affected). It is based on simple percentage amount, “0″ being fully opaque and “100″ being fully transparent (and therefore not visible).
[caption id="attachment_898" align="aligncenter" width="254"][[http://revdevx.files.wordpress.com/2013/06/pb_translucency.png|{{16595.6021990741_15.png}}]] Windows 7 Aero Progress Bar with a TRANSLUCENCY of 50[/caption]
==== VALUE property ====
This simple integer property sets the current value (position) of the progress bar. It should be a value between the limits set by the **RANGE** property.
[caption id="attachment_814" align="aligncenter" width="247"][[http://revdevx.files.wordpress.com/2013/04/pb_value_50.png|{{16595.6021990741_16.png}}]] Windows 7 Aero Progress Bar with a RANGE of [0,200] and a VALUE of 50[/caption]
==== VERTICAL property ====
Setting this property to TRUE ("1") draws the progress bar in a vertical fashion - i.e. it increments from the bottom to the top.
[caption id="attachment_815" align="aligncenter" width="236"][[http://revdevx.files.wordpress.com/2013/04/pb_vertical.png|{{16595.6021990741_17.png}}]] Windows 7 Aero Progress Bar with a VERTICAL property of TRUE ("1")[/caption]
==== DECREMENT method ====
exec_Method( ctrlEntID, "DECREMENT", amount )
This method decrements the progress bar by a specified amount. If no amount is specified the bar is decremented by the value contained in the **STEP** property instead.
==== INCREMENT method ====
exec_Method( ctrlEntID, "INCREMENT", amount )
This method increments the progress bar by a specified amount. If no amount is specified the bar is incremented by the value contained in the **STEP** property instead.
**Further reading**
More information on Progress Bars can be found on the MSDN site [[http://msdn.microsoft.com/en-us/library/windows/desktop/bb760816(v=vs.85).aspx|here]], along with some user interface guidelines [[http://msdn.microsoft.com/en-us/library/aa511486.aspx|here]].
//(Disclaimer: This article is based on preliminary information and may be subject to change in the final release version of OpenInsight 10).//
=== Comments ===
== Original ID: revdevx.wordpress.com/?p=800 ==