BCGSuite for MFC
CBCGPProgressDlg

Detailed Description

The CBCGPProgressDlg class implements a modeless dialog that allows to display a progress of a lengthy operation.

This dialog offers the following features:

  • Progress indicator
  • Progress percentage
  • Owner-draw header
  • Animation
  • Theme support

To display a progress dialog you need to perform the following steps:

  • Construct a dialog object: m_pProgressDlg = new CMyProgressDlg(&m_Header);
  • Enable theme (optionally): m_pProgressDlg->EnableVisualManagerStyle();
  • Construct and fill the CBCGPProgressDlgParams structure.
  • Create the dialog: m_pProgressDlg->Create(params, this);

Important: to avoid the dialog (as well as your application) "freezing" during a long-time process, we strongly recommend to make any time-consuming processes (such as data loading) in the working thread and pass the execution percentage the progress dialog using some user-defined message.

Take a look at the ProgressDialogDemo sample for more information.

+ Inheritance diagram for CBCGPProgressDlg:

Public Member Functions

 CBCGPProgressDlgThe constructor.
 
 CreateCreates and displays a progress dialog.
 
 GetParametersReturns current parameters.
 
 GetPosGets the current position of the progress bar.
 
 OffsetPosAdvances the progress bar control's current position by the increment specified by nPos and redraws the bar to reflect the new position.
 
 RedrawHeaderRedraws a progress dialog header.
 
 SetMessageSets the first message.
 
 SetMessage2Sets the second message
 
 SetPosSets the current position for a progress bar control and redraws the bar to reflect the new position.
 
 SetPosSets the current position for a progress bar control and redraws the bar to reflect the new position.
 
 StepItAdvances the current position for a progress bar control by the step increment and redraws the bar to reflect the new position.
 
- Public Member Functions inherited from CBCGPDialog
 CBCGPDialogConstructs a CBCGPDialog object
 
 CBCGPDialogConstructs a CBCGPDialog object
 
 AutoResizeControlsEnable auto-resizing check boxes, radio buttons and static labels.
 
 ClosePopupDlgCloses the popup dialog.
 
 DoDrawSpecialAreaOnNCInitiates drawing of specific area on the dialog box edges (non-client area). If you're calling this method, you should handle BCGM_ONDRAWNCSPECIALAREA registered message in your dialog class.
 
 EnableAeroAdds DWM ("Glass") support either to whole dialog, or to some of its margins.
 
 EnableDragClientAreaAllows to drag the dialog box by clicking inside the client area.
 
 EnableExpandEnables expanding and collapsing of the dialog's part.
 
 EnableExpandEnables expanding and collapsing of the dialog's part.
 
 EnableLayoutEnables or disables layout manager for a dialog box
 
 EnableLoadWindowPlacementEnables loading/saving window placement from/to the registry.
 
 EnableVisualManagerStyleAdds visual theme support to the dialog
 
 ExpandExpands or collapses the dialog box.
 
 GetAeroMarginsRetrieves the dialog DWM (glass) margins.
 
 GetInfoTipControlGets a dialog control with currently active info tip.
 
 GetLayoutReturns a pointer to layout manager.
 
 HasAeroMarginsTells whether a window has "DWM (glass) margins.
 
 HasBackgroundImageTells whether the dialog has background image.
 
 IsAutoPrepareComboListStylesTells whether all child list box and combo boxes should be recreated by adding "owner-draw fixed" and "has strings" Windows styles.
 
 IsControlsDefaultDlgBackgroundTells whether controls background redrawing is optimized.
 
 IsDragClientAreaEnabledTells whether a drag client area is enabled.
 
 IsExpandAreaSpecialBackgroundTells whether a dialog expanded area has a special background.
 
 IsExpandedTells whether the dialog box is expanded.
 
 IsGroupBoxesDrawByParentTells whether group box control is rendered by parent window.
 
 IsLayoutEnabledTells whether layout management is enabled for a dialog box.
 
 IsMFCResourceLayoutTells whether the dialog uses MFC resource (loaded from the dialog resource) layout.
 
 IsOwnerDrawCaptionTells whether a dialog has an owner-draw caption.
 
 IsVisualManagerNCAreaTells whether a non-client area of the window uses visual manager style.
 
 IsVisualManagerStyleTells whether a window uses visual manager style.
 
 IsWindowPlacementEnabledTells whether loading/saving window placement from/to the registry is enabled.
 
 IsWsCaptionStyleTells whether a window with themed non-client area is created with WS_CAPTION style.
 
 OnAfterExpandCalled by the framework after the dialog was expanded.
 
 OnBeforeExpandCalled by the framework before the dialog is expanded.
 
 RemoveInfoTipsRemoves all previously added information tips.
 
 SetBackgroundColorSets a new background color
 
 SetBackgroundImageSets the dialog box's background image
 
 SetBackgroundImageSets the dialog box's background image
 
 SetControlInfoTipAdds an information tip to the dialog child control specified by control ID.
 
 SetControlInfoTipAdds an information tip to the dialog child control specified by window.
 
 SetControlsDefaultDlgBackgroundEnables/disables child controls background optimized redrawing.
 
 SetEditBoxesVerticalAlignmentSpecifies vertical alignment for all edit boxes located on the window (single-line only).
 
 SetExpandAreaSpecialBackgroundSpecifies whether a dialog expanded area has a special (usually darker) background.
 
 SetGroupBoxesDrawByParentEnables drawing group box controls by the parent window.
 

Protected Member Functions

 OnDrawHeaderCalled by a progress dialog to draw the header (banner) above the progress control.
 
 OnDrawHeaderOnNCAreaCalled by a progress dialog to draw the header (banner) above the progress control on the dialog's non-client area.
 

Additional Inherited Members

- Public Types inherited from CBCGPDialog
enum  BackgroundLocation
 
- Protected Attributes inherited from CBCGPDialog
 m_bDisableShadowsSpecifies whether the dialog custom shadows should be disabled.