Skip Navigation LinksBCGSoft > Release Notes > Version Release Notes

Release Notes

BCGControlBar Professional Edition

Version: 37.31. Released: 02/24/2026

  1. Miscellaneous
    1. CBCGPButton: added support for the semi-flat (toolbar button-like) style in the themed push button (see screenshot). Set the m_nFlatStyle member to CBCGPButton::BUTTONSTYLE_SEMIFLAT, and the button will be displayed without borders and inner filling in the regular (non-highlighted) state. Our example BCGPControls ("Push buttons" view) demonstrates this addition.
    2. CBCGPTreeCtrlEx:
      • Implemented TVM_GETITEMSTATE message handling. This addition allows using the extended tree control with the standard Win32 macros, such as TreeView_GetCheckState or TreeView_GetItemState.
      • A new flag, StrictGetItemDataChecking, has been added (along with the IsStrictGetItemDataChecking and SetStrictGetItemDataChecking access methods) to provide compatibility with the standard Windows tree view control. By default, CBCGPTreeCtrlEx::GetItem fills the data based on the input state and state mask, while the Windows tree view control does not check this data. Call SetStrictGetItemDataChecking(FALSE) to make CBCGPTreeCtrlEx::GetItem compatible with CTreeCtrl.
    3. CBCGPEditListBox: the action buttons (such as Insert or Delete) located on the control's top have the semi-flat style now (see screenshot). This change groups these buttons together like a toolbar, and users no longer see the double lines in the button borders that were present in previous product versions.
    4. The dialogs and property sheets now include the ability to control the checking monitors with system DPI awareness when restoring the window placement. By default, if DPI awareness PM is not supported, the dialog remains on its original monitor. You can omit this checking by setting the new globalData.m_bCheckDlgPlacementForSystemDPI flag to FALSE.
    5. CBCGPStatic: a new virtual method DoFillBackground is called by the framework to fill the static control client area. By default, it fills the background with the specified background color (m_clrBkgnd) or does nothing if it is not specified. Override this method to fill the static control with your custom background.
  2. Examples and Samples
    1. BCGPControls: added a demonstration of a toolbar button-style push button.
    2. GraphicsManagerDemo: added a demonstration of how to improve GDI-based controls (such as push buttons and static text) rendering using the graphics manager (see screenshot).
  3. Fixes
    1. CBCGPTreeCtrlEx: fixed the bug with the incorrect value returned by the GetCheck method (appeared in version 37.3).
    2. CBCGPAccessibleTitleBar: addressed the issues with the unexpected STATE_SYSTEM_FOCUSABLE and STATE_SYSTEM_FOCUSED states that were returned by the get_accState method.
    3. CBCGPEditListBox: addressed some layout issues after the DPI changing (e.g., when the parent dialog was moved to the screen with the different DPI).
    4. CBCGPVisualManagerVS2026: fixed bug with the hardly visible disabled drop-down arrow in some color themes such as "Cool breeze" and others.
    5. CBCGPShellBreadcrumb: addressed an issue that could cause a memory leak when using third-party compilers.