|
Version 12.0.
Released 01/20/2010 |
|
New features |
-
CBCGPVisualManager2010 implements Microsoft Office 2010
Beta 1 color themes:
Just
activate CBCGPVisualManager2010 to use these new themes
in your application:
CBCGPVisualManager::SetDefaultManager (RUNTIME_CLASS
(CBCGPVisualManager2010)); Please run
BCGPMSOffice2007Demo, DrawCli or BCGPOrganizer to see this
feature in action.
- Added Microsoft Office 2010-style Ribbon
Backstage View (see
screenshot). The following new methods were added to
CBCGPRibbonBar class:
- SetBackstageMode: enables/disables Backstage
View mode.
- IsBackstageMode: returns TRUE if Backstage View
mode is enabled.
- AddBackstageCategory: creates Backstage View
category.
- GetBackstageCategory: returns Backstage View
category.
- IsBackstageViewActive: returns TRUE if Backstage
View is currently active.
By default, the Ribbon Application button will be
displayed with the default (blue) color, but developers
can customize its appearance by calling visual manager's
new method 'SetMainButtonColor' (see
screenshot).
CBCGPRibbonBar::AddBackstageCategory returns a
pointer to the new class object -
CBCGPRibbonBackstageViewPanel. Usually, you'll need
to call the following class methods to create your
backstage view:
- AddCommand: add a single command button such as
"Save", "Save As" or "Exit".
- AddView: add a button with attached right-side
form ("Print", "Recent Files" and so on). There are
2 new classes that should be used for implementing
right-side views:
- CBCGPRibbonBackstageViewItemForm: a
single page dialog
- CBCGPRibbonBackstageViewItemPropertySheet:
multi-page
Please note that our Application Wizards were updated
and now, when you're creating a new, Ribbon-based
application, you can choose "Backstage view" option (see
screenshot) and initial backstage view code will be
automatically generated for your pleasure!.
- The Ribbon bar Application ("main") Button can
display a text label instead of icon in the "scenic"
mode (usually "File" in English language UI). The
following new methods were added to the CBCGPRibbonMainButton class:
- SetScenicText
- GetScenicText
- Implemented ability to add Ribbon Galleries to the
dialogs (see
screenshot). The new class CBCGPRibbonGalleryCtrl
may be used for this purpose. Please take a look at
BCGPMSOffice2007Demo example (Backstage view pages) to
see this new control in action.
- Implemented Resizable Dialogs support (see
screenshot1
and
screenshot2):
- Added 2 new classes:
- CBCGPControlsLayout: implements the
base class for all layout managers.
- CBCGPStaticLayout: implements
"static" layout management based on anchors.
- To enable layout support, you've to call
EnableLayout/GetLayout methods in the following
classes:
- CBCGPDialog
- CBCGPDialogBar
- CBCGPropertyPage
- CBCGPFormView
Please run ResizableForm new sample to see this feature in action.
In addition, you can see this feature in the following
examples and samples:
- BCGPMSOffice2007Demo: "Clipboard" Pane and Backstage
view.
- BCGPOrganizer: resizable dialog bar.
- RibbonGadgets: backstage view.
- ToolBoxDemo: resizable form
- Significantly improved CBCGPVisualManagerVS2010 (see
screenshot):
- The color scheme is identical to Visual Studio 2010
Beta 2.
- Added a new Smart Docking style (BCGP_SDT_VS2010).
You can run BCGPVisualStudioGUIDemo example to examine this
look.
- Added content scrolling support to
CBCGPDockingControlBar-derived classes (see
screenshot). By default, the scrolling is
implemented in CBCGPDialogBar class only, but you can
easily add this support to any CBCGPDockingControlBar-derived
class (please take a look at BCGPGridExample example,
COutputBar class). CBCGPDockingBarScrollButton class
implements docking pane scroll button (vertical and
horizontal) and its look depends on the currently
activated visual manager.
- Calculator control has been significantly
improved:
- All calculator buttons are drawn using built-in
bitmaps and use visual manager appearance (see
screenshot).
- Implemented extended commands. Using a new method CBCGPCalculator::SetExtendedCommands developers can add a
lot of build-in calculator commands such as idCommandAdvSin, idCommandAdvCos, idCommandAdvTan and
others.
- CBCGPRibbonComboBox allows to display a popup
calculator window. Just call
CBCGPRibbonComboBox::EnableCalculator method to assign a
calculator to the ribbon combobox. Override a new 'OnCalculatorUserCommand'
method to implement your calculator commands.
Please take a look at BCGPControls example and
RibbonGadgets/SkinnedDialog samples to see these new
features in action.
- The following new methods were added to
CBCGPVisualManager class:
- OnDrawDockingBarScrollButton
- OnDrawCaptionBarCloseButton
- GetHeaderCtrlTextColor
- OnFillPropSheetHeaderArea
- OnDrawDateTimeDropButton
- GetCalculatorButtonTextColor
- GetEditCtrlSelectionBkColor
- GetEditCtrlSelectionTextColor
- OnDrawDlgSizeBox
- OnFillRibbonBackstageForm
- OnDrawRibbonMinimizeButtonImage
- GetRibbonMinimizeButtonImageSize
- GetRibbonButtonsGroupHorzMargin
- IsDrawRibbonGroupSeparator
- OnDrawRibbonGroupSeparator
- GetRibbonBackstageTopLineHeight
- OnDrawRibbonBackstageTopLine
- SetMainButtonColor
- GetMainButtonColor
- IsOwnerDrawDlgSeparator
- OnDrawDlgSeparator
- CBCGPPropertySheet has a new mode:
PropSheetLook_AeroWizard (see
screenshot). In general, this mode has been designed
and implemented for Vista/Windows 7 Aero, but you can
use it in any OSs/modes (see
screenshot). The glass (aero) area can be combined
with a page header - we've added a new optional
parameter 'bDrawHeaderOnAeroCaption' to EnablePageHeader
method. Please take a look at PropSheetDemo sample to
see this mode.
- Added support for the Internet Explorer-like new tab
in CBCGPTabWnd class (see
screenshot). Call EnableNewTab
method to enable this feature. Please take a look
BCGPIE7Demo example to see this feature in action.
- Grid and Report controls changes:
- Added option to select items by clicks on grid header: New
header flag BCGP_GRID_HEADER_SELECT.
- Implemented color themes for the new visual
managers such as CBCGPVisualManager2010 (Office
2010-like) and CBCGPVisualManagerVS2010 (Visual
Studio 2010-like) (see
screenshot).
- Improved grid printing support. The following
new classes were added:
- CBCGPGridPage class: this class is
used by the grid control to store print pages.
A print page specifies which area of the grid is
printed at the specified page. The grid counts
in items in vertical direction. The grid counts
in pixels in horizontal direction.
- CBCGPGridPageInfo class: This class
is used by the grid control to store information
about the printing range and the currently
printing page. It is stored in
CBCGPGridCtrl::m_PrintParams::m_pageInfo member
and in CPrintInfo::m_lpUserData member of the
CPrintInfo object used while printing at the
current print session.
- Added an option to deselect items. To deselect
an item
please use SetCurSel with SM_INVERT_SEL flag. New
functions were added:
- CBCGPGridCtrl::EnableInvertSelOnCtrl
- CBCGPGridCtrl::IsInvertSelOnCtrlEnabled
- Changes in header click events: New
BCGM_GRID_COLUMN_CLICK message. Added CBCGPGridCtrl::OnHeaderColumnRClick. Modified
CBCGPGridCtrl::OnHeaderColumnClick.
- Items align support: New CBCGPGridItem::GetAlign
function. Item's alignment is specified by CBCGPGridCtrl::SetColumnAlign.
- Grid horizontal pagination support. Added
CBCGPGridPage::m_nWidth - page width, CBCGPGridPageInfo::m_nPageWidth - width of currently
printed page. See CBCGPGridPage class,
CBCGPGridPageInfo class.
- Drag-and-Drop support (see new "Drag and Drop"
tab in BCGPGridExample sample):
- New message BCGM_GRID_BEGINDRAG.
- Added methods EnableDragSelection,
IsDragSelectionEnabled,
EnableDragSelectionBorder,
IsDragSelectionBorderEnabled, StartDragItems and
HitTestSelectionBorder.
- Extended in-place edit customization support
(see new "Easy Input" tab in BCGPGridExample
sample):
- New messages BCGM_GRID_ITEM_BEGININPLACEEDIT,
BCGM_GRID_ITEM_ENDINPLACEEDIT.
- New functions OnBeginInplaceEdit,
OnEndInplaceEdit, CanBeginInplaceEditOnChar,
CanEndInplaceEditOnChar, OnInplaceEditKeyDown,
OnInplaceEditSetSel.
- New BCGPGRID_ITEM_INFO::dwResultCode member.
See BCGPGRID_ITEM_INFO struct.
- New method SetClearInplaceEditOnEnter. Call
SetClearInplaceEditOnEnter (FALSE) to disable
grid from clearing content of the item on Enter.
- Added CBCGPGridCtrl::GoToNextItem method.
- CBCGPGridCtrl::EnsureVisible is now virtual.
- Added navigation by TAB (Shift+TAB) key.
- Added "Ctrl+Z" (Undo) handler for in-place edit
of the grid item.
- Changes in CBCGPGridCtrl::SetCurSel for
SM_SET_ACTIVE_ITEM style.
- Grid item with combo-box now supports F4 to open
drop-down list.
- Added a new parameter CBCGPMDITabParams::m_bReuseRemovedTabGroups.
If this flag is TRUE MDI tab groups which were marked as
removed will be used for new groups. This reduces memory
consumption for applications that frequently create and
remove groups.
- Added OpenType font support for font combo boxes.
- Added keyboard and MS Active Accessibility support
to CBCGPTasksPane class.
- CBCGPEditCtrl::ExportBuffer has a new optional
parameter 'BOOL bForceAnsi'. Setting it to TRUE forces
exporting editor's text in ANSI format.
- CBCGPRibbonStatusBarPane constructor and
SetAnimationList method have a new optional parameter 'BOOL
bDontScaleInHighDPIMode'. Set it to TRUE if you don't
need to scale pane image in the High DPI mode.
- When user clicks on the glass area of
CBCGPExplorerToolBar window, the application window is
moved now.
- Added CBCGPCalendarBar::GetState method - returns
the calendar style flags specified in SetState method.
- CBCGPRibbonEdit displays a drop-down window upon
pressing F4 key.
- Added CBCGPShellManager::IsControlPanel method.
- Added new font 'fontCaption' to BCGPGLOBAL_DATA.
This font will be useful for displaying caption texts.
- CBCGPStatic has a new member: m_clrText. You can set
this member to colorize text labels (see SkinnedDialog sample).
- New method CBCGPDockManager::ShowFloatingBars
shows/hides floating panes.
- CBCGPListBox control can work with left-side icons
and item group headers now. The
following new methods were added:
- SetImageList: set items image list
- SetItemImage: associate item with a specific
icon
- AddCaption: add a group caption
- Changes in examples and samples:
- BCGPControls: "Calculator" page demonstrates new
calculator features
- BCGPGridExample: added new visual managers and
new 2 tabs: "Drag and Drop" and "Easy Input"
- BCGPIE7Demo: the tab control was fully
redesigned and derived from the library MDI Tab
control.
- BCGPMSOffice2007Demo: added MS Office 2010
Backstage view. "Clipboard" pane demonstrates a new
layout manager.
- BCGPVisualStudioGUIDemo: Start Page view can be
converted to docking control bar.
- DrawCli: added MS Office 2010 Backstage view and
new visual managers.
- PropSheetDemo: added Aero Wizard demonstration.
- ResizableForm: new sample, demonstrates how to
use a new layout manager along with dialogs, dialog
bars, property sheets and form views.
- RibbonGadgets: added MS Office 2010 Backstage
view and edit boxes with calculator.
- SkinnedDialog: added edit box with calculator
and text labels with a custom colors.
- Changes in the Ribbon Designer:
- Added "Calculator" element.
- Support for three new styles introduced in
Microsoft Office 2010 (blue, silver, black)
- Ribbon elements can be edited by double click.
- Image lists can be loaded from files.
- Implemented icon editing for Palette (Gallery)
Buttons.
|
|
Fixes: |
- FireChangingActiveTab is called from
CBCGPOutlookWnd::SetActiveTab now.
- Fixed resource leak in CBCGPUserTool::DrawToolIcon
- Fixed problem with a slider's thumb location in
CBCGPRibbonSlider::SetThumbRect in the High DPI mode.
- Improved appearance of the calendar drop-down button
in CBCGPDateTimeCtrl.
- Fixed problem with setting editbox auto-complete
mode in Windows 9x/NT4
- CBCGP***FrameWnd::WinHelp dwData parameter has
DWORD_PTR type now. This fixes 64-bit compatibility
issue with this virtual method.
- Fixed memory leak in CBCGPPngImage::LoadFromBuffer (VS.NET
2003 or higher, BCGP_EXCLUDE_GDI_PLUS is defined).
- CBCGPGroup is properly handles WM_SETTEXT message
now.
- CBCGPCalendar always closes dropped-down month
picker when the calendar is being destroyed.
- CBCGPRibbonEdit::OnDraw correctly draws edit box
label in case of center/right-side control alignment.
- Fixed appearance of CBCGPExCheckList items in the
high DPI mode (under VC++ 6.0).
- Fixed problem with displaying disabled check boxes (CBCGPButton
class) when some visual managers are activated.
- Fixed problem with CBCGPHeaderCtrl items text color
when some visual managers are activated.
- Fixed problem with vertical scrolling of elements in CBCGPRibbonPanel::OnKey.
- CBCGPEdit correctly draws a browse button image and
text when control is located on the glass (aero) area.
- CBCGPEdit uses visual manager color them when
control has ES_READONLY style.
- CBCGPStatic doesn't perform the custom drawing if it
has a style like icon, rectangle or frame.
- CBCGPPropertySheet: fixed some problems with
repositioning and redrawing navigation buttons.
- Fixed some visual problems in owner-draw
frame/dialog captions.
- Ribbon Main Button scenic icon is correctly painted
in high DPI mode now.
- Fixed problem with text alignment in grid columns.
CBCGPGridCtrl::SetColumnAlign is working properly now.
- Fixed bug with using different horizontal color and
vertical color for the grid lines. The m_clrVertLine
setting did not work when m_bGridItemBorders flag was
switched on.
- Fixed problem with clicking on CBCGPGridURLItem in
read-write mode.
- Fixed a bug with automatic sizing of grid columns. The bug
appeared when auto-sizing was enabled with EnableColumnAutoSize(TRUE).
- Fixed bug with "Ctrl+A" for in-place editing of
grid items. "Ctrl+A" selects all
text inside in-place editor during in-place editing,
instead of the entire grid as
before.
- Fixed memory leak in
CBCGPGridCtrl::CopyHtmlToClipboardInternal.
- Ribbon Designer supports Visual Studio 2008 and
Visual Studio 2010 Beta 2 projects.
|
|
Version 11.0.
Released 08/06/2009 |
|
New features |
- We're proud to announce a new Visual Manager -
CBCGPVisualManager2010, which implements the new
Microsoft Office 2010 TP white theme (see
screenshot)!
The main benefits of this theme are:
- Ribbon "Aero" tabs
- Ribbon "Minimize" button
- Flat panels and groups
- Colorized application ("main") button
To use this new theme in your application just
activate CBCGPVisualManager2010:
CBCGPVisualManager::SetDefaultManager (RUNTIME_CLASS
(CBCGPVisualManager2010)); Please run
BCGPMSOffice2007Demo or BCGPOrganizer to see this
feature in action.
- Added a new class CBCGPVisualManagerVS2010,
which
implements Microsoft Visual Studio 2010 Beta 1 look (see
screenshot).
You can run BCGPVisualStudioGUIDemo example to examine this new fresh look!
- Added Windows 7 Taskbar Interaction for MDI
applications (see
screenshot1
and
screenshot2):
- CBCGPWorkspace has the following new
methods:
- EnableTaskBarInteraction
- IsTaskBarInteractionEnabled
- CBCGPMDIFrameWnd has the following new methods:
- RegisterAllMDIChildrenWithTaskbar
- GetRegisteredWithTaskBarMDIChildCount
- CBCGPMDIChildWnd has the following new methods:
- RegisterTaskbarTab
- IsRegisteredWithTaskbarTabs
- UnregisterTaskbarTab
Please run BCGPVisualStudioGUIDemo or DrawCli
examples to see this feature in action.
- Significantly improved Windows 7-style Ribbon
presentation (see
screenshot).
Please activate CBCGPVisualManagerScenic and see that
the Ribbon bar is fully-identical to the native Windows
7 Ribbon!
- Added ability to search the Ribbon commands "on the
fly" (see
screenshot)!
You can easily add the command search to the Ribbon Main
panel and user can find and invoke the required command
in seconds, without looking through all ribbon tabs.
CBCGPRibbonMainPanel has a new method
EnableCommandSearch. In addition, a developer can use the
search box separately: CBCGPRibbonEdit has new methods -
EnableSearchMode, IsSearchMode and GetSearchPrompt.
- Added Vista-style Breadcrumb control (see
screenshot).
Please take a look at BCGPControls ("Shell Controls"
page) and BCGPMediaPlayer examples to see this control
in action and learn how to add it to your application.
New classes CBCGPBreadcrumb and CBCGPShellBreadcrumb
implement this control. The following new methods have
been
added to CBCGPVisualManager class:
- BreadcrumbFillBackground
- BreadcrumbDrawItemBackground
- BreadcrumbDrawItem
- BreadcrumbDrawArrowBackground
- BreadcrumbDrawArrow
- BreadcrumbDrawLeftArrowBackground
- BreadcrumbDrawLeftArrow
- Improvements in Ribbon Designer:
- Ability to add elements from Toolbox by double
click.
- The following elements were added to Toolbox:
- Context
- Search edit control
- Search combo box control
- Added Windows 7 and Office 2010 application looks.
- Added ability to preview the generated XML file.
- Implemented Cut, Copy, Paste and Drag & Drop
operations for the Context Categories.
- Added ability to load, save, and edit Search Box for
Main Category.
- Added ability to load, save, and edit strings for
edit boxes.
- Added ability to load and save icons and groups for
Palettes (Galleries).
- Added ability to load, save, and edit Automatic &
Other buttons for Color buttons.
- Implemented loading of project files created by
Visual Studio 2010 Beta 1.
- Added hyperlinks and custom background/text colors
to CBCGPCaptionBar (see
screenshot).
- Added Office 2010-style Ribbon minimize button (see
screenshot).
CBCGPRibbonBar has 2 new methods: EnableMinimizeButton
and HasMinimizeButton.
- Method CBCGPToolBar:: RebuildAccelerationKeys is
virtual now.
- Added CBCGPBaseRibbonElement::GetElementsByName
method: this method returns a list of ribbon elements
that match the given name.
- globalData.m_nShellAutohideBars has been replaced
with the access method globalData.GetShellAutohideBars().
- Although the Carbon theme was designed for
toolbar/menu-based application, we decided to improve
the Ribbon presentation in CBCGPVisualManagerCarbon
theme too.
- CBCGPRibbonComboBox class has a new method
InsertItem.
- Middle mouse button click on MDI Tab closes the
corresponding MDI child window now (like in VS
2005/2008).
|
|
Fixes: |
- Added horizontal scrolling to the command list box
in CBCGPKeyboardPage.
- Fixed some drawing problems in CBCGPButton: when
check box has BS_TOP or BS_BOTTOM style, the text is
correctly positioned now.
- CBCGPReBar passes MS Active Accessibility events to
the child panes now.
- When CBCGPMessageBox is being loaded, the standard
Windows message beep is appear (this behavior is similar
to the standard message box)
- Fixed problem with a keyboard navigation when
CBCGPRibbonSlider is a vertically-oriented (in the
previous versions, UP/DOWN keys moved slider in the
opposite direction).
- Resolved resource leak in
CBCGPOutlookBarPane::AddButton. In the previous
versions, the resource wasn't freed properly in case of
32 bit icons.
- Fixed problem with scrolling CBCGPCalendar and
CBCGPDateTimeCtrl dates outside the allowed year range
(between 100 and 9999).
- Fixes in Ribbon Designer:
- Loading projects for Visual Studio 2008 (path to
resource files couldn't be found).
- Incorrect message about missing MainFrm.cpp during
project loading.
- Wrong icon for Spin Edit in Elements tree.
|
|
Version 10.3.
Released 02/17/2009 |
|
New features |
- The library is fully tested on Windows 7 Beta.
- The product is fully High DPI-compatible now! You
can run your application in High DPI modes without
any visual artifacts - just call
globalData.SetDPIAware() in your application's
InitInstance! All toolbar/menu/ribbon images will be
scaled automatically using a smooth resizing algorithm. If
your predefined images are already scaled according to
the current DPI mode, just set CBCGPToolBar::m_bDontScaleImages to FALSE prior to
toolbars loading. In case of the "locked"
(non-customizable) toolbars, call SetLockedSizes with
bDontScale = TRUE (bDontScale is a new optional
parameter).
- Added a new visual manager 'CBCGPVisualManagerScenic"
that Implements Windows 7-like ("Scenic") Ribbon bar
(see
screenshot). Please run BCGPMSOffice2007Demo
example and choose "Windows 7-like" style to see this
feature in action!
- Added support for Visual Studio 2008-style
semi-transparent docking markers (see
screenshot). By
default, this look is automatically enabled in VS 2008
and Office 2007 visual managers (see BCGPVisualStudioGUIDemo example), but you can set it in
any visual managers by passing a new parameter to
CBCGPDockManager::SetDockMode (BCGP_DOCK_TYPE dockMode,
BCGP_SMARTDOCK_THEME theme = BCGP_SDT_DEFAULT).
If you need to setup a default marker theme in your
visual manager, override virtual BCGP_SMARTDOCK_THEME GetSmartDockingTheme () virtual
method. Please note that this new look is available
under the Windows Vista or higher only.
- All menu/toolbar text items will be displayed
without underscores until Alt key is pressed.
- Added new method BOOL
CBCGPToolBarImages::SmoothResize (double dblImageScale).
This method resizes image using bicubic interpolation.
- CBCGPRibbonCategory::AddPanel has a new optional
parameter 'nInsertAt = -1'. This allows to insert a new
ribbon panel at specific location.
- CBCGPProgressDlg::StepIt has a new, optional
parameter 'bWaitForMessages'. Set this parameter to
FALSE in order to prevent unnecessary message waiting.
- Toolbar's "non-permitted" commands (defined by
calling CBCGPToolBar::SetNonPermittedCommands) are not
displayed on the Ribbon bar now.
- Added a new virtual method:
CBCGPEdit::OnIllegalFileName. This method is called when
user has typed an illegal file name and tries to show
the file dialog. Override this method if you wish to add
a special error handling such as displaying an error
message.
- Skinned dialogs enhancements and improvements:
- Improved appearance of disabled CBCGPStatic control.
- Multi-line text is vertically centered now in
CBCGPButton control.
- Radio button is correctly painted now when
BS_AUTO3STATE is not defined.
- CBCGPComboBox doesn't "eat" CBN_CLOSEUP and
CBN_DROPDOWN notifications: ON_CONTROL_REFLECT_EX is
used instead of ON_CONTROL_REFLECT now.
- Added support for drawing CBCGPComboBox control with
CBS_SIMPLE style.
- CBCGPPropertySheet adjusts correctly the window size
when the property sheet header is enabled.
- Added support for PSM_SETWIZBUTTONS and
PSM_SETFINISHTEXT messages in CBCGPPropertySheet
- The method 'EnableVisualManagerStyle' (in
CBCGPFormView, CBCGPDialog, CBCGPDialogBar and
CBCGPPropertyPage classes) has a new optional parameter:
plstNonSubclassedItems - the list of IDs that shouldn't
be automatically subclassed.
- DS_CONTEXTHELP style is not used now in
CBCGPropertySheet window.
- The check box height is calculated correctly now
when CBCGPButton is created in High DPI mode.
- Grid control enhancements:
- CBCGPGridItem has a new virtual method:
NewInPlaceEdit. Override this method if you need to
create your own in-place edit control.
- Added new protected function OnGetColumnAutoSize. It
allows to customize the column auto-size feature in the
CBCGPGridCtrl-derived class.
- Editor enhancements:
- Added new function GetCurLine (CString& strLine).
- Added new member m_bEnableCurrentLineCopy. Setting
this flag to TRUE allows to copy the current line to the
clipboard if there is no selection. It works similar to m_bEnableWholeTextCopy.
- Gantt chart enhancements:
- CBCGPGanttView: new virtual methods 'OnCreateChart'
and 'OnCreateGrid' have been added. Override these methods if
you wish to create your own Gantt view panes.
- Added new registered messages:
- BCGM_GANTT_CONTROL_CREATE_CHART: allows using custom
chart control. Sent when the Gantt control creates a
chart.
- BCGM_GANTT_CONTROL_CREATE_GRID: allows using
custom grid control. Sent when the Gantt control creates
a grid.
- New virtual method CBCGPGanttChart::QueryRenderer
allows to override the Gantt rendering.
- Ribbon Designer enhancements, changes and fixes:
- It's possible to add context categories from
Toolbox.
- You can add categories from a dialog.
- Categories can be added to the existing context
categories. In the previous version this action caused
the "Context already exists" error.
- Editing of FontComboBox is done without rebuilding
of fonts, which improved performance during loading and
editing.
- If you're editing ComboBox strings using Property
Grid, you need to type "\;" in order to add symbol ";"
to a string. You can still type ";" when editing strings
in the dialog.
- Ribbon Bar is redrawn correctly when its width
exceeds the width of screen.
- Updated French translation.
|
|
Fixes: |
- CBCGPFontProp::OnClickButton doesn't change LOGFONT
and color members if the "Cancel" button was clicked.
- Fixed problems with drawing multi-line text labels
in CBCGPTasksPane.
- Fixed problem with appearance of Ribbon Tooltips when
the Ribbon Bar is located near the bottom of screen.
- Double-click on CBCGPTabWnd's "Close" button doesn't
close 3 MDI child windows at once now.
- Tab text label is not cut-off now in VS2005
style.
- The content of ribbon mini-toolbar ("floaty")
elements is synchronized correctly now with all other
ribbon elements.
- The ribbon mini-toolbar ("floaty") is not closed now
after user has clicked on a drop-down item such as color
or font name.
- The tooltip is not displayed now on the toolbar
combobox if toolbar::ShowTooltips property is FALSE
- Dialog bars are created from dialog templates with
correct size.
- Fixed a problem with docking bars converted to
tabbed documents. Now you can convert such bars back to
dockable even if tabbed interface is turned off - right
click on caption of MDI child displays appropriate
context menu.
- Added a sanity check that only visible MDI children
can appear on tabs.
- Fixed problem with a minimal tracking size in the
Ribbon-based application: when Vista Aero is off or
application is executed under the previous OSs such as
Windows XP or Windows 2000.
- CBCGPRibbonPanel::RemoveAll sets m_pHighlighted to
NULL and m_pHighlighted doesn't point to deleted ribbon
element.
- The ribbon layout is calculated correctly now when
empty panels or panels with empty names are
added.
- Ribbon QAT doesn't show separators located near
hidden QAT items now.
- CBCGPEditCtrl: fixed bug with tabs and cursor moving
(see forum
bug report).
- Fixed bug in editor outlining. The bug happened
after positioning the cursor right before the collapsed
block and pressing "Enter".
- Grid control: fixed minor issue with vertical
scrollbar. Now it does not overlay last pixels.
- Grid control: fixed selection with CTRL. Now the
grid does not select same items twice with CTRL pressed.
- Fixed bug in CBCGPAppBarWnd. The side bar
occasionally did not work properly in auto-hide mode in
Windows XP.
- Double click on interior of a floating toolbar docks
it at the recent docked position. Before it was required
to double click caption of floating toolbar.
- CBCGPRibbonMainButton::SetImage correctly processes
< 32 bpp images now.
- CBCGPWinXPVisualManager doesn't draw an unnecessary
gutter on CBCGPColorBar now.
- Fixed bug with positioning of drop-down button in
CBCGPDateTimeCtrl.
- The MDI child window captions are repainted
correctly now when Office 2007 theme is activated.
- CBCGPFrameWnd::AdjustClientArea/CBCGPMDIChildWnd::AdjustClientArea
doesn't set WS_CLIPCHILDREN style for CFormView views.
This fix resolves some form controls (such as groups)
painting problems.
- Fixed bug with a context menu customization:
immediate click on the "Close" button of the
customization dialog saves changes in the last edited
menu item.
|
|
Version 10.21.
Released 10/03/2008 |
|
New features |
- Added ability to export a Ribbon bar to the Ribbon
designer (XML) format. Just call a new static method CBCGPRibbonBar::SaveRibbon after Ribbon initialization
and now you can load and edit your Ribbon in the visual
designer.
- Added read-only mode to CBCGPGanttControl: use a new
method SetReadOnly to enable/disable this mode and
IsReadOnly to whether a Gantt control is in read-only
mode.
- Class "CBCGPRibbonRecentFilesList" is exportable
now.
|
|
Fixes: |
- Improved appearance of disabled items in Carbon
visual manager.
- Fixed parameters order in the BCGPMessageBox global
method.
- The message box "Close" caption button is disabled
now when the message box doesn't display a "Cancel"
button.
- Carbon visual manager: fixed bug with displaying
highlighted/pressed buttons on toolbars and dialogs.
- Removed an unnecessary assertion in CBCGPDrawManager::FillGradient2.
- Fixed bug with displaying menu shadows under Windows
95/98/ME.
|
|
Version 10.2. Released 09/24/2008 |
|
New features |
- Added a new visual manager 'CBCGPVisualManagerCarbon'
(see
screenshot). All basic GUI elements such as menus,
toolbars and docking panes are drawn with a dark
"carbon-style" theme, so the user can concentrate his
look on the application view. Please take a look at
BCGPSkins, BCGPGridExample or SkinnedDialog
examples/sample to see how this new visual manager
looks.
- A new class 'CBCGPMessageBox' has been added.
This class enhances the standard Windows Message Box
component (see
screenshot).
The following features are provided out of the box:
- Office 2003/2007 look
- Custom look
- Custom icons and buttons
- Check box control
- Left and right text alignment
Please take a look at
the
new MessageBoxDemo sample to see this class
in action.
- The Ribbon Designer supports Context Categories
(tabs).
- Implemented a lot of improvements and fixes in the
Grid control:
- Added Left Header (see
screenshot). You can use this column to display
either currently selected row or row numbers. Please
call a new method 'EnableRowHeader' to
enable/disable this column and 'EnableLineNumbers'
to show/hide the row numbers.
- Copy to HTML support (see
screenshot). The grid control allows to export
selection or the whole content to the clipboard in
"HTML Format". Please see BCGPGridExample sample.
New CBCGPGridCtrl::Copy function has been added.
- CBCGPGridCtrl::SetCurSel method is virtual now.
- Added functions to work with selection:
SelectRow, SelectAll, IsAllSelected,
GetSelectionCount.
- Added CBCGPGridCtrl::InsertRowBefore.
- Added CBCGPGridCtrl::OnGetColumnMinWidth to
specify the minimal width of the column
- CBCGPBaseTabWnd has a new virtual method 'OnClickCloseButton'.
Override this method to implement a custom action when
the tab close button is clicked.
- CBCGPRibbonQATDefaultState has a new method 'AddSeparator'.
This method allows to add separators to the initial ribbon QAT
state.
- CBCGPFontComboBox is derived now from CBCGPComboBox.
This allows to apply a currently selected skin to this
control.
- CBCGPDialog::SetBackgroundImage supports PNG images
now.
- CBCGPPropertySheet has a new mode now:
PropSheetLook_Wizard (see
screenshot).
- CBCGPPropertySheet tree mode has a new look (see
screenshot): the left-side tree control displays lines,
and tree nodes are not "auto-collapsed" now. If you wish to
keep the former look, please set the static variable CBCGPPropertySheet::m_bUseOldLookInTreeMode to TRUE.
PropSheetDemo sample illustrates both new and old tree
modes.
- Added support for Help ("?") caption button in the
skinned dialogs and property sheets.
|
|
Fixes: |
- Fixed a lot of bugs in the skinned controls and
dialogs:
- CBCGPStatic redraws itself when control is being
enabled/disabled
- CBCGPGroup handles WM_UPDATEUISTATE message. This
fixes some redrawing bugs.
- CBCGPButton: fixed some drawing bugs in check box
and radio button modes.
- CBCGPDialog and CBCGPPropertySheet handle WM_SETTEXT
message and redraws the dialog caption now.
- CBCGPPropertySheet adjusts the property sheet
buttons when "Apply" button is clicked.
- CBCGPEdit::OnNcPaint draws the control border only
if control has 'WS_BORDER' style.
- The skinned caption height is calculated correctly
now in CBCGPDialog and CBCGPPropertySheet. If the window
has 'WS_EX_TOOLWINDOW' style, the caption height
is calculated properly now.
- CBCGPPropList::AdjustLayout: fixed bug with
repositioning of in-place edit control.
- A disabled ribbon's gallery element can be added to QAT now.
- Tooltip position for CBCGPGridColorItem is
calculated properly now.
- Fixed bug with tabs and indenting in the editor, fix
in CBCGPEditCtrl::InsertTab.
- Mouse double click to select one word in the editor
works properly now.
|
|
Version 10.1. Released 07/16/2008 |
|
New features |
- The first version of the long-awaited Ribbon
Designer is available (see
screenshot)! This
designer dramatically simplifies the ribbon creation
process and allows to create the "state of the art"
products in few minutes! You don't need to write
hundreds of lines anymore: the Ribbon programming has never
been so easy and efficient - just run the Ribbon Designer
and enjoy using it. The changes in the Ribbon API are
minimal:
- CBCGPRibbonBar::LoadFromXML: loads the ribbon
content from an XML resource created by Designer
- CBCGPRibbonBar::LoadFromBuffer: loads the ribbon
content from memory buffer
Please read the following
new article
to learn how to use Ribbon Designer. You can load
the new
RibbonDesignerDemo sample to see how to create a
basic MS Office 2007-style application in few lines of
code.
Please send us your comments, wishes and suggestions
regarding the new Ribbon Designer - your feedback
will be highly appreciated!
- A new class 'CBCGPRibbonDialogBar' has been added.
This class implements a "Ribbon-style"
vertically-oriented docking pane that contains a lot of
ribbon panels (see
screenshot). Please take a look at
the
new RibbonDialogBar sample to see this component
in action.
- BCGCBProIntegrate and BCGCBProBuildWizard utilities
were replaced with the new tool
BCGCBProIntegrationWizard (see
screenshot).
- Implemented a lot of improvements and fixes in skinned dialogs and controls:
- BCGPGLOBAL_DATA has a new static member 'm_bUseVisualManagerInBuiltInDialogs'.
Set this member to TRUE if you wish to draw built-in
dialogs using the Visual Manager (see
screenshot).
- CBCGPPropertySheet::EnableVisualManagerStyle and
CBCGPDialog::EnableVisualManagerStyle have a new,
optional parameter 'bNCArea'. Pass 'TRUE' if you
wish to display your dialog or property sheet with
skinned borders and caption (see
screenshot).
- CBCGPButton supports 3-state check boxes now.
- CBCGPButton allows to subclass multi-line and
right/center aligned check boxes and radio buttons.
Please take a look at SkinnedDialog and PropSheetDemo
samples to see these features in action.
- CBCGPGridCtrl: added "frozen" columns support. The
following new methods have been added to the grid control:
- FreezeColumns: This function enables the "frozen
column" feature, which allows to keep columns visible
while the rest of columns are scrolled horizontally.
- UnfreezeColumns: disables the "frozen columns" feature.
Please take a look at BCGPGridExample application to see
this feature in action.
- CBCGPPropList: added support for "commands" (see
screenshot). The following new methods
have been added to the
property list:
- BCGM_PROPERTY_COMMAND_CLICKED: new notification;
sent to the Property List owner when a command is clicked.
- SetCommands: set the list of available commands
- ClearCommands: clear the commands
- HasCommands: returns TRUE if commands are
available; otherwise FALSE
- SetCommandTextColor: set command foreground
color
- GetCommandTextColor: returns command foreground
color
Please take a look at BCGPControls and
BCGPVisualStudioGUIDemo examples to see this feature in
action.
- CBCGPCaptionButton has a new virtual method 'GetCustomToolTip'.
Override this method to implement your custom caption
button tooltips (see new CaptionButtons sample -
screenshot).
- CBCGPMiniFrameWnd:: BringAllMiniFramesToWorkArea -
Detects all floating mini frame windows outside of the
work area and brings them back to the work area.
- Because of some problems in compilation with /CLR
option, CBCGPBaseRibbonElement::DrawText was renamed to
CBCGPBaseRibbonElement::DoDrawText.
- A new method CBCGPTabWnd::SetButtonsVisible allows
to hide the tab control scroll/menu buttons
- CBCGPRibbonFloaty has a new property: SetOneRow/IsOneRow.
This property is useful for tiny mini-toolbars where
item wrapping is not required and a toolbar should take one row only.
- Added complete German translation (thanks to Ingo
Asch).
|
|
Fixes: |
- Significantly improved performance of font combo box loading.
- Resolved compilation problems if BCGP_EXCLUDE_GRID_CTRL or BCGP_EXCLUDE_RIBBON macros are
defined by a developer.
- Fixed bug in AppWizard-generated code: the ribbon
bar correctly appears in SDI applications when they run for the first time.
- The Ribbon QAT placed on bottom doesn't overlap the
frame's right edge now when the QAT displays a lot of
items.
- CBCGPRibbonColorButton doesn't send WM_COMMAND from
color buttons twice.
- Added flag 'DT_NOPREFIX' inside
CBCGPInplaceToolTipCtrl::OnPaint.
- Removed ability to add the main
(application) button to QAT using the Ribbon
customization dialog.
- Resolved problem with maximizing/restoring the
application frame in multi-monitor environment: in
the previous version the frame wasn't properly restored
on the secondary monitor.
- The frame border size is calculated correctly now
when the frame doesn't have the WS_THICKFRAME style.
- Fixed some bugs in CBCGPTagManager when the manager
is used in UNICODE.
- CBCGPEdit doesn't "eat" EN_CHANGE notification.
- The dialog group box is painted correctly now when
the group caption is empty.
- Fixed some bugs with drawing of long captions
along with Ribbon context tabs.
- The item "Add to QAT" doesn't appear on the Ribbon
context menu if QAT has never been initialized.
- "Exit" button, when it's placed on the Ribbon QAT
and invoked using key tips doesn't cause application crash.
- Fixed some visual bugs with drawing connectors in Gantt
control.
- Improved performance of the Gantt storage: a developer
can load a large amount of items.
- CBCGPGridCtrl: fixed bug with assertion failed in
debug when only one column is visible.
- CBCGPEditCtrl: Fixed bug in GetLine: the previous version
truncated the last character in line.
- Some AfxMessageBox methods called
from toolbar customization dialogs have been replaced with MessageBox calls. This resolves some problems with
enabling floating mini-frames inside AfxMessageBox.
|
|
Version 10.0. Released 05/05/2008 |
|
New features |
- The following methods and enumerated value names
have been renamed for compatibility with Visual Studio
2008 Feature Pack:
| Old name |
New name: |
| CMenuImages |
CBCGPMenuImages |
| GetCmdMgr |
BCGPGetCmdMgr |
| CMD_MGR |
BCGPCMD_MGR |
| DT_UNDEFINED |
BCGP_DT_UNDEFINED |
| DT_IMMEDIATE |
BCGP_DT_IMMEDIATE |
| DT_STANDARD |
BCGP_DT_STANDARD |
| DT_SMART |
BCGP_DT_SMART |
| IsStandardCommand |
IsBCGPStandardCommand |
| BCGP_CS_STATUS |
Added BCGP_ prefix to all values |
| BCGP_DOCK_METHOD |
Added BCGP_ prefix to all values |
| BCGP_DOCK_TYPES |
Added BCGP_ prefix to all values |
- The first version of the long awaited Gantt
Control has been included (see
screenshot). Please take a look
at the BCGPGanttDemo and BCGPOrginizer examples to see this
control in action. The highlighted features are:
- MFC Document/View integration - the CBCGPGanttView
class
is provided out of the box
- Unlimited time bar
- Fully-customizable appearance
- Different types of task objects such as regular
tasks, milestones and so on
- Build-in resource grid
- Task connectors
- Zoom in/Zoom out
- Collapsible groups (projects)
- Print and Print Preview
- Drag and drop + item resizing support
- Ribbon additions:
- Added full keyboard navigation support.
- Ribbon elements (see
screnshot):
- Added new class - CBCGPRibbonRadioButton
- CBCGPRibbonSlider can be displayed with the
various TBS_*** styles: the new optional
parameter 'dwStyle' has been added to the constructor.
- Added new notification message:
BCGM_ON_BEFORE_SHOW_PALETTE_CONTEXTMENU. By handling
this message a developer can customize the gallery
context menu (see
screenshot).
- CBCGPRibbonCustomizePage and CBCGPRibbonCustomize classes have the new method EnableKeyboradCustomization (TRUE | FALSE). Call
this method if you wish to disable the keyboard
customization.
- Improved behavior of the context menu displayed
along with the Ribbon mini-toolbar.
- Improved performance of CBCGPRibbonKeyTip
window.
- Planner additions:
- Multi-resource support (see
screenshot):
- CBCGPAppointment - SetResourceID/GetResourceID
- Added new class CBCGPPlannerViewMulti
- Added new class CBCGPAppointmentMultiStorage
- Added notification
BCGP_PLANNER_RESOURCEID_CHANGED
- Added new type BCGP_PLANNER_TYPE -
BCGP_PLANNER_TYPE_MULTI
- Added new method CBCGPPlannerManagerCtrl::IsMultiResourceStorage
- Added a new property CBCGPPlannerManagerCtrl::AddResourceRTC
- Added a new method CBCGPPlannerManagerCtrl::AddResource
- Added a new method CBCGPPlannerManagerCtrl::RemoveResource
- Added a new method CBCGPPlannerManagerCtrl::GetResourceInfo
- Added a new method CBCGPPlannerManagerCtrl::GetCurrentResourceID
- Added a new method CBCGPPlannerManagerCtrl::SetCurrentResourceID
- Added a new method CBCGPPlannerManagerCtrl::SetUseMultiResourceDefault
- CBCGPPlannerViewWeek::GetCaptionFormatStrings
modified to support
MS Office 2007-style captions (see
BCGP_PLANNER_DRAW_VIEW_CAPTION_DAY_COMPACT)
- Added new notifications:
- BCGP_PLANNER_DAYCAPTION_CLICK
- BCGP_PLANNER_WEEKCAPTION_CLICK
- Added the following drawing flags:
- BCGP_PLANNER_DRAW_VIEW_WEEK_BAR - draw week
bar on the monthly view
- BCGP_PLANNER_DRAW_VIEW_CAPTION_DAY_BOLD -
draw captions using bold font
- BCGP_PLANNER_DRAW_VIEW_CAPTION_DAY_COMPACT -
MS Office 2007-style date format for all views
- Grid and Report additions:
- Built-in Filter Support (see
screenshot). You can add a
callback function and implement any custom filter.
Please see the BCGPGridExample and switch to Filter tab.
The following new functions have been added:
- CBCGPGridCtrl::EnableFilter
- CBCGPGridCtrl::GetFilterCallbackFunct
- CBCGPGridCtrl::IsFilterEnabled
- The grid header implements the new feature to enable
buttons. The control displays caption buttons
optionally. The following new functions have been
added to support header
buttons:
- CBCGPGridCtrl::SetHeaderBtnImageList
- CBCGPGridCtrl::GetHeaderBtnImageList
- CBCGPGridColumnsInfo::SetHighlightColumn
- CBCGPGridColumnsInfo::GetHighlightColumn
- CBCGPGridColumnsInfo::SetHighlightColumnBtn
- CBCGPGridColumnsInfo::GetHighlightColumnBtn
- The CBCGPGridCtrl class has the new constructor with
parameter nMemBlockSize. This improves performance
of adding new rows in CBCGPGridCtrl by increasing
the block size of its list-containers. The new field int CBCGPGridCtrl::m_nRowsBlockSize
and the new
function CBCGPGridCtrl::GetRowBlockSize have been added.
- Implemented the "Preview mode" feature for the report control
(see
screenshot).
Please see BCGPGridExample and ReportDemo samples.
The new functions and fields to customize preview
pane:
- CBCGPGidCtrl::SetPreviewTextColor
- CBCGPGidCtrl::GetPreviewTextColor
- CBCGPGidCtrl::AllowRowExtraHeight
- CBCGPGidCtrl::IsRowExtraHeightAllowed
- CBCGPGridColumnsInfo::IsTextColumn
- CBCGPGridColumnsInfo::SetTextColumn
- CBCGPGridCtrl::IsTextColumn
- CBCGPGridCtrl::SetTextColumn
- CBCGPGridColumnsInfo::GetLeftTextOffset
- CBCGPGridCtrl::IsPreviewRowEnabled
- CBCGPGridCtrl::OnGetPreviewRowMargins
- CBCGPGridColumnsItem::m_bText.
- Added tooltips for groups. Override CBCGPGridRow::GetNameTooltip to customize tooltips
behavior. New virtual functions: CBCGPGridRow::GetName,
CBCGPGridRow::GetNameTooltipRect.
- Grid item has the new flags: BCGP_GRID_ITEM_VTOP,
BCGP_GRID_ITEM_VCENTER, BCGP_GRID_ITEM_VBOTTOM,
BCGP_GRID_ITEM_MULTILINE, BCGP_GRID_ITEM_WORDWRAP
and new functions:
- BOOL CBCGPGridItem::IsMultiline
- BOOL CBCGPGridItem::IsWordWrap
- Added support for customizing borders of the
grid item:
- CBCGPGridItem::OnDrawBorders
- CBCGPGridItem::OnGetBorders
- CBCGPGridItem::OnGetBorders
- Added BOOL CBCGPGridItem::m_bGridItemBorders flag.
Set it to TRUE to enable
borders.
- Added the new "merged cells" feature
(see
screenshot). The CBCGPGridItem class has
the following new functions:
Merge, GetMergedCells, GetMergedRect, GetMergedRange, GetMergedMainItem,
The CBCGPGridCtrl class has the following new functions:
MergeSelection, UnMergeSelection, MergeRange, UnMergeRange, OnMergeCellsChanging, OnMergeCellsChanged.
Added new class CBCGPGridMergedCell.
- The CBCGPGridColumnsInfo::GetGroupingColumnOrderArray
and CBCGPGridColumnsInfo::GetColumnOrderArrayfunctions
have been changed. Now they return the count of values
actually written into the array.
- Improved Grid printing. Now the grid divides content to several pages from left to right.
New member int CBCGPGridPage::m_nHorzOffset was
added. Use the new function to customize print
pagination:
OnAddGridPageRowForPrint
- The new access function BOOL CBCGPGridCtrl::IsMarkSortedColumn
has been added.
- Added support to show and hide scrollbars:
- CBCGPGridCtrl::ShowVertScrollBar
- CBCGPGridCtrl::ShowHorzScrollBar
- New function CBCGPGridCtrl::SelectColumn selects a row in the
Grid.
- Added the following handlers in the CBCGPGridCtrl class:
- OnResizeColumns
- OnUpdateVScrollPos
- OnMouseLeave
- CBCGPVisualManager has a new virtual method:
OnSetGridColorTheme. This method allows to draw the
grid using "native" visual manager color theme (see
screenshot)
- The MS Active Accessibility support is fully
revised:
- BCGPOleAcc.dll does not longer exist - all MSAA
features are implemented inside the library now.
- The most of the library classes are derived now from the
new class - CBCGPWnd.
- Added the new data structure - CBCGPAccessibilityData (see BCGPAccesibility.h file)
- The MSAA support is implemented in the following
new virtual methods now:
- CBCGPWnd::OnSetAccData
- CBCGPWnd::IsAccessibilityCompatible
- CBCGPBaseRibbonElement::SetACCData
- CBCGPToolbarButton::SetACCData
- Added Skinned Dialogs and Forms support:
- The new EnableVisualManagerStyle method has been added to CBCGPDialog
(see
screenshot), CBCGPDialogBar (see
screenshot), CBCGPPropertySheet and
CBCGPPropertyPage classes (see
screenshot).
- Added a new class CBCGPFormView (see
screenshot).
- The following existing classes have support for
themes and Vista's Aero transparency now (see
screenshot):
- CBCGPEdit
- CBCGPEditListBox
- CBCGPCalculator
- CBCGPColorBar
- CBCGPSpinButtonCtrl
- CBCGPButton
- CBCGPMenuButton
- CBCGPColorButton
- Added new controls:
- CBCGPGroup: dialog box group
- CBCGPComboBox: combo box
- CBCGPSliderCtrl: slider control
- CBCGPProgressCtrl: progress control
- CBCGPListBox: Office 2007-style list box
control
- CBCGPStatic: static text control
- Enhanced Vista Aero Support:
- CBCGPDialog::EnableAero method was added. Using
this method a developer can add "Aero Glass" either to
the
whole dialog box, or to the one of its edges (see
screenshot).
- All toolbar/menu elements and dialog controls
are "Aero-compatible" now (see
screenshot).
- Added the new class CBCGPExplorerToolBar
(see
screenshot):
- Built-in Navigation Buttons
- Built-in history menu button
- Support for Vista's Aero
- The new class CBCGPProgressDlg (see
screenshot) has
been added (please take a look at the new sample ProgressDialogDemo to see this dialog in action). This
dialog offers the following features:
- Progress indicator
- Progress percentage
- Owner-draw header
- Animation
- Theme support
- The following new examples and samples have been added:
- BCGPGanttDemo (see
screenshot): demonstrates the new Gantt control
- BCGPMediaPlayer (see
screenshot): demonstrates the new Skinned
dialogs technology and the new explorer toolbar controls
- ProgressDialogDemo (see
screenshot):
demonstrates usage of new CBCGPProgressDialog class.
- SkinnedDialog (see
screenshot):
demonstrates themed dialogs technology.
- The following examples and samples have been
modified to demonstrate new features:
- BCGPIE7Demo utilizes the new explorer toolbar now.
- BCGPOrganizer includes the new "Gantt" tab.
- BCGPCalendarDemo demonstrates a multi-resource
planner.
- BCGPVisualStudioGUIDemo: the "Class View" has an
embedded splitter control.
- BCGPMSOffice2007Demo: demonstrates a skinned
dialog bar.
- RibbonGadgets: demonstrates new radio buttons
and vertical sliders.
- PropSheetDemo: demonstrates skinned property
sheets
- The following new methods have been added to the
CBCGPVisualManager class:
- OnFillListBoxItem
- OnDrawRadioButton
- OnFillPlannerWeekBar
- OnDrawGridHeaderMenuButton
- OnDrawGridSelectionBorder
- GetGanttColors
- DrawGanttChartBackground
- DrawGanttItemBackgroundCell
- DrawGanttHeaderCell
- DrawGanttHeaderText
- FillGanttBar
- OnFillDialog
- GetDlgBackBrush
- OnDrawPushButton
- GetURLLinkColor
- OnDrawGroup
- OnDrawSliderChannel
- OnDrawSliderThumb
- Miscellaneous additions and changes:
- Significantly improved the Tasks Pane look in
Visual Manager 2007 and Visual Manager 2003 (under
Windows Vista).
- Added the new methods RemoveToolsPage and
RemoveAllToolsPages to the CBCGPToolBoxEx class
- CBCGPMDIChildWnd has the
new method: BOOL IsPrintPreview
- CBCGPStatusBar::SetPaneIcon has a new, optional
parameter 'BOOL bAlphaBlend'. Set it to TRUE if
you're adding a 32-bit icon to a status bar pane.
- CBCGPDrawManager::DrawAlpha has a new, optional
parameter 'BYTE nOpacity'
- CBCGPURLLinkButton uses the new CBCGPVisualManager::GetURLLinkColor
method to set URL text color.
- CBCGPControlRenderer::CopyTo method has been
added.
- CBCGPShadowRenderer provides a better menu
shadow look.
- CBCGPMemDC constructor has a new, optional
parameter 'BYTE alpha' that allows to use this class
along with the Vista Glass background.
|
|
Fixes: |
- Fixed some visual problems with Ribbon font size
under the Windows Vista
- CBCGPRibbonColorButton scales the color box if
the large font is used.
- Enabled/disabled state of CBCGPDateTimeCtrl embedded spin control
is automatically synchronized with
the date/time control state.
- Fixed a bug with CBCGPScrollBar double-click.
- Fixed some bugs with positioning of the Ribbon mini-toolbar.
- CBCGPFontProp::IsValueChanged returns the correct
value now.
- CBCGPRibbonStatusBar::RemoveElement removes the
element's label too.
- Fixed some visual problems in the CBCGPDrawManager::DrawShadow
method.
- Fixed bug in the PngToBitmap internal method.
- UnlockWindowUpdate is not called if LockWindowUpdate
fails. This improves performance of loading saved state.
- Double-clicking on inactive Ribbon tab doesn't
minimize the Ribbon now.
- The minimized ribbon dropped-down panel is displayed
now in the screen bounds of the Ribbon.
- When the ribbon control (such as edit or combo box)
is focused the Ribbon doesn't scroll pages on
mouse wheel event.
- The width of the Ribbon system buttons is calculated
correctly now when the Vista's Aero is enabled and
the parent frame doesn't have some default system buttons.
- Fixed problem with Ribbon flickering after DWP
composition has changed (Vista Aero only).
- Fixed some problems with IME in CBCGPMaskedEdit.
- Fixed integration problem in Application Wizard for
VS 2008.
- Alt + menu bar keyboard shortcut is disabled now
when the menu bar is not visible (e.g. full screen or
print preview modes).
- Fixed some problems with IME and UNICODE in the ribbon
edit control.
- Fixed some problems with the Mini toolbar shadow.
|
|
Version 9.56. Released 12/12/2007 |
|
New features |
- The library is fully-compatible with Microsoft®
Visual Studio 2008 ("Orcas") now. The following features
have been implemented:
- Integration and Build wizard
- VS 2008 Application Wizard
- Implemented a new visual manager "CBCGPVisualManagerVS2008"
which allows to create applications with Microsoft®
Visual Studio 2008 ("Orcas") look (see
screenshot). Please note that this implementation is
preliminary and we'll add some missing features such as
transparent docking markers in one of the future library
versions.
- Added new examples:
- BCGPIE7Demo: Internet Explorer 7-style
application (see
screenshot). This example demonstrates the
following features:
- "Aero"-style docking bar with embedded
custom-draw controls
- IE 7-style navigation buttons
- IE 7-style MDI tabs
- Auto-hide menu bar
- Full-screen mode
- IE 7-style navigation pane
("Favorites"/"History")
- BCGPShopDemo: another demonstration of
customized Visual Manager (see
screenshot). The key features are:
- Toolbars and menus with custom colors
- "Semi-transparent" docking panes
- Custom docking captions and tabs
- Floating docking panes with shadows
- Fixed-size palettes
- Context toolbars
- Ribbon additions:
- Added support for ribbon horizontal scrolling
(see
screenshot). This feature is handled
automatically by the library, so no any changes in
the code are required.
- The ribbon doesn't change a document selection
when a user clicks outside popup window such as
gallery, menu or drop-down list.
- The ribbon popup panels and menus are using
transparent layered shadows now.
- The ribbon automatically disappears now when the
main frame is less than 300 pixels wide and 250
pixels tall to provide more space for displaying the
document.
- CBCGPVisualManager2007 allows to define custom color
themes now (see
screenshot): there is a new 'SetCustomColor'
method. Please take a look at BCGPMSOffice2007Demo
example to see this cool feature in action.
- Added ability to display tooltips with fixed
(predefined) widths. A new
CBCGPToolTipCtrl::SetFixedWidth method allows to set 2
predefined widths for tooltip with large and small
images. Because this feature was designed especially for
ribbon control, we've added the following methods to
CBCGPRibbonBar class: SetTooltipFixedWidth,
GetTooltipFixedWidthRegular and
GetTooltipFixedWidthLargeImage.
- Significant performance improvements:
- Improved PNG images loading time.
- Improved Office 2007-style element painting.
- Improved editor performance.
- Improved performance of docking control bar and
toolbar painting.
- CBCGPToolTipCtrl drawing is much more smooth and
fast now.
- CBCGPWinXPVisualManager has better implementation
for drawing elements under the Windows Vista (see
screenshot). The following GUI elements have the
new, fresh look: menu, toolbars, docking pane captions,
tooltips and more.
- CBCGPVisualManager2003 implements now a blue theme
under the Windows Vista ("Aero" and "Basic" themes only)
(see
screenshot).
- CBCGPColorButton can be created in "ribbon"
(gallery-style) mode (see
screenshot). To create the Office 2007-style color
button in your dialog you need:
- Pass TRUE to CBCGPColorButton constructor
- Setup color palette using new access method
CBCGPColorButton::GetRibbonButton
Please take a look at BCGPMSOffice2007Demo example (COptionsPage
class) to learn how to use this new mode.
Important: this mode can be used in Ribbon-based
applications only.
- CBCGPColorPickerCtrl has a new style: PICKERH (see
screenshot). Please take a look at BCGPControls
example application ("Color Controls" page) to see this
new mode in action.
- CBCGPInplaceToolTipCtrl class is exportable now: the
developer can use Office-style in-place tooltips
directly in his application.
- CBCGPEditCtr/CBCGPEditViewl additions:
- New method 'SetMouseWheelSpeed' allows to
customize mouse wheel speed.
- Added new methods 'AddEscapeSequence' and 'IsEscapeSequence'.
This allows to define user-defined escape sequences
(such as '\"') to prevent treating "in-string"
characters as the end of block. The schema XML files
were updated for using this feature as well.
- A developer can disable the application window
when a "Find/Replace" dialog is being invoked in
CBCGPEditView: DisableMainframeForFindDlg/IsDisableMainframeForFindDlg
attributes were added.
- Added ability to lock/unlock rebar panes. There are
2 new methods in CBCGPReBar class: LockBars and IsLocked.
- Added support for restoring application state after
hibernation. the WM_POWERBROADCAST message handler has
been added to all frame classes.
- CBCGPDBGridCtrl::ParseURL was renamed due to VS 2008
linking problem. The new name is ParseURLString.
- Added access method
CBCGPFullScreenImpl::GetFullScreenBar
- GLOBAL_DATA class was renamed. The new name is
BCGPGLOBAL_DATA. Generally, this rename shouldn't affect
any existing projects. In addition, some internal
(non-exportable) library classes were renamed too.
|
|
Fixes: |
- Resolved problems with running VS 2008-compiled
modules under OSs with the common control version 6.0 or
less.
- The global font has a correct size now when
application is running under Windows 2008 Server or
Windows Vista with a "Classic" theme.
- Fixed resource leaks CBCGPOutlookWnd::RebuildToolBar,
CBCGPFileDialog::OnInitDone and
CBCGPPropertySheet::InternalAddPage methods. In the
previous versions in some cases previously loaded icons
were not destroyed.
- Fixed bug with location of mini-toolbar ("floaty")
along with the context menu. In the previous versions,
when the context menu was aligned near the screen edge,
the mini-toolbar was not displayed at correct location.
- Fixed problem with restoring menu bar location by
double-clicking a floating menu bar.
- Fixed some visual problems in auto-hide button
drawing.
- CBCGPGridCtrl: fixed bug with inserting new columns
after changing existing columns order.
- CBCGPRibbonComboBox is displayed correctly now when
a combobox parent panel has justification flag.
- Fixed problem with adding 32-bit icons in
CBCGPStatusBar::SetPaneIcon
- Fixed bug with a mouse capturing in
CBCGPMenuButton's double click event
- CBCGPDateTimeCtrlWin correctly sends WM_COMMAND
notification to the owner window now.
- CBCGPWorkspace::GetSectionString returns a default
value if the registry data is not found.
- Fixed problem with the tools palette position in
CBCGPImageEditDlg: in localized Windows the palette
control location was incorrect.
- CBCGPColorDialog doesn't show unnecessary task bar
window in color-picker mode now.
- Fixed bug with frame edge repainting in Office 2007
mode after the status bar has been hidden or shown.
- Fixed bug with copying of images under the Vista:
CBCGPToolBarImages has a new method 'Copy' that
correctly works under all OSs.
- Toolbox images are correctly repainted now after the
system color theme changing
- Fixed bug in toolbox scrolling.
- Toolbox item text is visible in the high-contrast
black mode.
- CBCGPPrintPreviewView doesn't hold the library
resource handle.
- Fixed bug with using localized resources in
CBCGPRibbonCustomizePage
- The ribbon customization dialog doesn't show
duplicate items.
- The ribbon height is calculated right if the ribbon
doesn't have any large buttons.
- The ribbon default (collapsed) panel button doesn't
show the panel when its key has been invoked and panel
is not collapsed.
- The ribbon main (application) button image is not
shifted when the button is pressed.
- The text of ribbon elements located right to a
ribbon tab is horizontally aligned with the tab labels.
- CBCGPMDIFrameWnd::GetInPlaceActiveItem doesn't fail
in the print preview mode now.
- Improved gradient filling of the right-side
application bars in Office 2003 look.
- Fixed problem with location of spin control in
CBCGPDurationCtrl
- Fixed bug with overlapping tab control frames in the
tab groups mode.
- Fixed bug with the ribbon layout when application is
running for the first time under the Windows Vista.
- The ribbon bar doesn't draw the caption bar empty
buttons when application is running under the Windows
Vista with Aero. In previous versions this bug caused
drawing a black dots near the main button in some visual
managers.
- The ribbon pull-down menus don't display animation
if they are invoked using keyboard shortcuts.
- Scrolling the mouse wheel dismisses the ribbon
mini-toolbar.
- CBCGPRibbonColorButton preserves the color box size
when the object is being copied to another panel.
- Fixed bug with application icon drawing on the
"aero" caption bar. In the previous versions, when the
ribbon bar was completely hidden, the icon with the
color depth less than 32 bpp was not painted on the
"aero" caption bar.
- Fixed bug with displaying docking bars as MDI tabbed
documents in full-screen mode. In the previous versions
this bug caused abnormal MDI tabs appearance when the
program was displayed in the full-screen mode for the
first time.
- Fixed bug with the full-screen mode when the active
view is CBCGPTabView. In this case layout of menu bar
was calculated incorrectly.
|
|
Version 9.55. Released 9/4/2007 |
|
New features |
- Added .PNG image support for the following product components such as:
- CBCGPButton
- CBCGPHotSpotImageCtrl
- CBCGPPropertySheet
- CBCGPRibbonStatusBarPane
- The .PNG image support can be excluded from the product now. In
addition, you can use built-in PNG Lib instead of GDI+ in VS 2002 or higher.
The following pre-processor definitions can be uncommented in
BCGCBProConfig.h file:
- BCGP_EXCLUDE_PNG_SUPPORT: don't use PNG images anywhere. Please
note: if you uncomment this, you cannot use Office 2007 styles anymore,
because starting version 9.54 all these styles are PNG-based.
- BCGP_EXCLUDE_GDI_PLUS // For VS 2002 or higher only: use built-in
PNG Lib instead of GDI+.
- MS Office 2007-style DLLs have a version number prefix now: for example,
MS Office 2007 Blue theme DLL in version 9.55 has the following file name:
BCGPStyle2007Luna955.dll
- GLOBAL_DATA has a new method: Resume. This method restores
external references (such as pointers to DLLs and external procedure
addresses) and can be used for restoring application state after
hibernation. Just catch WM_POWERBROADCAST message in your application and
call globalData.Resume () in case wParam is set to
PBT_APMRESUMESUSPEND (see our examples for implementation details).
- CBCGPVisualManager2007: MDI child system buttons located on the menu bar
have Office 2007 look now.
- CBCGPRibbonEdit class has a new protected method: CreateSpinButton.
Calling this method allows to create spin buttons in CBCGPRibbonEdit-derived
classes.
- CBCGPRibbonPanel has a new attribute: m_bPreserveElementOrder (SetPreserveElementOrder/IsPreserveElementOrder
access methods were added). Setting this attribute to TRUE allows to
preserve panel elements order during reposition of elements .
- CBCGPPropList additions:
- A selected property list group is expanded/collapsed by pressing ENTER
key now.
- Added a new method 'CommitModifiedValues' (see the
following request on the forum)
- CBCGPEditCtrl additions:
- DoFindText is virtual now.
- Added a new method 'SetColorBlockStrLenMax'. This allows to define
user-defined words (with length more than 4 characters) in XML editor
schema.
- Added a new sample: HotSpotDemo. This sample illustrates usage of the
CBCGPHotSpotImageCtrl class.
|
|
Fixes: |
- Active CBCGPDropDownList didn't pass the keyboard messages to the active
view when a parent CBCGPRibbonCombobox doesn't have embedded edit box.
- The size of MDI child icon placed on the menu bar is calculated
correctly now.
- When menu item has user-defined image and no menu animation is
available, the user-defined image wasn't redrawn until menu item is not
highlighted.
- The ribbon status bar information pane incorrectly displayed a text with
"&": a letter with underscore appeared instead of "&".
- CBCGPToolTipCtrl probably kept a pointer to a freed toolbar button.
- GetSDWndClassName: LPCTSTR replaced by CString: this fixes referencing
to a temporary class name.
- CBCGPEdit didn't show File Dialog when the file name typed in the edit
box is incorrect.
- Fixed bug in CBCGPPopupWindow::SetAnimationSpeed: when animation speed
in popup (desktop alert) window was 1, the popup window is not displayed
anymore.
- Fixed bug in CBCGPPopupWindow::ProcessCommand: the shadow of menu
dropped from popup (desktop alert) window was not completely repainted on
semi-transparent popup.
- Image edit dialog didn't draw image bottom line on Preview Area.
- Image edit dialog: fixed problem with tools palette layout in the "Extra
Large Fonts" mode.
- CBCGPVisualManager2007 incorrectly repainted frame captions after Visual
Manager activation "on the fly".
- CBCGPCaptionBar border had an inconsistent look when control is placed
on the dialog (CBCGPVisualManager2003 or higher).
- Center-aligned toolbar combobox had a wrong position after dropping to
the floating multi-row toolbar.
- CBCGPFileDialog didn't show the first page when an application is
executed under Windows® Vista™
- If the file dialog logo was wider than the dialog, the image was
centered horizontally anyway.
- Fixed problem with redrawing selected item in alternative ("Alt" is
hold) toolbar customization mode.
- Toolbar customization menu is not displayed now when the toolbar element
(such as combobox) is being stretched.
- The edit list box selected item "Browse" button is not overlapped now by
the vertical scrollbar.
- CBCGPFrameImpl::ProcessKeyboard don't allow to process keyboard input if
related frame window is disabled.
- The property list in-place tip is removed from the screen now when the
list is being scrolled.
- Double-click on property list description area (on bottom) performed the
default action on selected item.
- Menu button shadow was repainted partially if animation mode is Unfold
or Slide, and menu was displayed on the top of the parent menu button.
- Fixed problem with redrawing of menu shadow in RTL applications under
Windows Vista.
- Scroll down button of popup menu was not properly redrawn in some visual
managers.
- Fixed problem with scrolling of large popup menus with a focused submenu
item.
- Ribbon Glass Area is dismissed now when the Ribbon Bar is being hidden
during OLE in-place activation (under the Vista/Aero only).
- Fixed problem in CBCGPMDIFrameWnd::ActiveItemRecalcLayout related to OLE
in-place activation.
- CBCGPVisualManager2007, Black Theme: menu bar button text was invisible
in customization mode.
- CBCGPVisualManager2007: the popup (desktop alert) caption text was
almost invisible.
|
|
Version 9.54. Released 8/9/2007 |
|
New features |
- Added support for owner-draw scrollbars (see
screenshot). The new class CBCGPScrollBar implements an
owner draw scroll bar.
The library creates Microsoft Office 2007-style scroll bars automatically
for all Ribbon elements like galleries. In addition, you can enable
Microsoft Office 2007-style scroll bars for Grid, Planner and Property List
controls: there are new SetScrollBarsStyle/GetScrollBarsStyle methods in
CBCGPGridCtrl, CBCGPPropList and CBCGPPlannerManagerCtrl classes.
- CBCGPToolBarImages class supports now .PNG image format: to use this
image type just add .PNG image(s) to "PNG" resources and pass the image ID
to CBCGPToolBarImages::Load. All Office 2007-style image resources (both in
style DLLs and examples were converted to .PMG image format and it
dramatically reduced the binary module sizes.
- Added Microsoft® Active Accessibility support for Ribbon Control.
- The product was thoroughly tested under Beta 2 of Visual Studio 2008
("Orcas"). In general, this is not a new feature, but we think that this
information will be important to our customers who is planning to port their
products to Visual Studio 2008 soon.
- Added a lot of new examples and samples:
- DrawCli (see
screenshot): Demonstrates how to make a regular MFC
application using the library with Ribbon Control.
- BCGPOrganizer (see
screenshot): Office 2007-style application with 5 different
views - Start Page, Calendar, ToDo List, Mail and Macros.
- MDIEditorDemo (see
screenshot): Demonstrates how to use the Advanced Edit
Control in an MDI application.
- MenuLogo (see
screenshot): Illustrates how to enable and draw "menu logo".
Menu logo is a vertical area at the left side of menu bar, where a
developer can draw text, images and fill this area with some color (or
gradient color).
- MenuCustomDraw (see
screenshot): Demonstrates owner draw menu images.
- RegistryDemo (see
screenshot): Shows how to use CBCGPRegistry class to write
and read to/from Windows registry various data types.
- RollupControlBar (see
screenshot): Demonstrates usage of the
roll up bar.
- ToolbarImages (see
screenshot): The sample illustrates usage of
CBCGPToolbarImages class. This class is a kind of image list and all
toolbars in the library display images taken from image lists. In this
sample you can see how to create image lists with different toolbar
effects (disabled and shadow images) and alpha-blending effects. Also it
illustrates how to add images dynamically at runtime.
- BCGCBDotNetExample was renamed to
BCGPVisualStudioGUIDemo. When this application was initially created
more than 5 years ago, it was intended to emulate VS.NET GUI. But now
".NET" suffix is taken away from the Visual Studio product name and also
we market our .NET products. So, this name just confuses our customers
and we decided to change it.
For your convenience, we've added the new "Samples" page where you can
find information about each sample application, see screenshots and download
individual samples. Please visit this page and take a look at more than 60
sample programs:
http://www.bcgsoft.com/Samples/samples.htm
- All Office 2007-style resource files can be included in the
statically-linked projects together: in the previous versions only one of
Office 2007-style resource can be used in the static projects.
- CBCGPPlannerManagerCtrl has a lot of new styles. Use them in order to
customize the planner control appearance according to your requests:
- BCGP_PLANNER_DRAW_APP_NO_MULTIDAY_CLOCKS: draw time as text in the
MultiDay Appointments
- BCGP_PLANNER_DRAW_APP_DURATION_SHAPE: draw advanced shape in
appointment duration area (as in Office 2007 calendar)
- BCGP_PLANNER_DRAW_APP_NO_DURATION: prevent drawing of appointment
duration bar
- BCGP_PLANNER_DRAW_APP_NO_IMAGES: prevent drawing of appointment
icons (expect recurrence images)
- BCGP_PLANNER_DRAW_APP_NO_RECURRENCE_IMAGE: prevent drawing of
appointment recurrence images
- BCGP_PLANNER_DRAW_VIEW_NO_DURATION: hide the planner view duration
bar
Please take a look at the BCGPCalendarDemo example to see these features
in action.
- New method CBCGPVisualManager::GetPlannerAppointmentTimeColor allows to
customize appointment time color
- Added new method 'CBCGPRibbonCategory::RemovePanel. Using this method
developer can remove or detach a panel from the category in run-time.
- Added some keyboard functionality in CBCGPPropList class:
- The property is activated by 'Tab' key
- Up/Down keys rotate selection list options
- Enter key make the "Button click" action when the button was activated
by Tab key.
|
|
Fixes: |
- CBCGPFileDialog works correctly now under Microsoft® Windows® Vista when
the library is compiled with MFC 9.0 (Vista-style file dialog is not
compatible with CBCGPFileDialog).
- The Ribbon Main Manu is correctly displayed now when application is
maximized on second monitor in the multi-monitor environment.
- Fixed bug with displaying application caption along with Ribbon context
tab in case of few (1-2) regular (non-context) tabs.
- CBCGPRibbonEditCtrl correctly displayed now on the Vista's Glass Caption
bar.
- Fixed bug with positioning of CBCGPRibbonButton when only the large icon
is assigned to the button and button doesn't have a small icon.
- Improved the look of menu borders and shadows in Office 2007 Visual
Manager.
- Fixed some visual bugs with menu shadows and menu resizing in RTL
(Right-to-Left Layout) mode.
- The ribbon mini-toolbar ("floaty") is correctly aligned with related
context menu in RTL (Right-to-Left Layout) mode.
- Fixed crash in opening of lots of pull-down menus in the Ribbon QAT.
- Fixed bug with using CBCGPRibbonStatusBar in non-ribbon
(toolbar/menu-based) application
- CBCGPRibbonLaunchButton has a correct size now when it is placed on the
QAT
- Improved Ribbon mini-toolbar ("floaty") buttons layout in multi-row
mode.
- Fixed bug with saving text in CBCGPRibbonEditCtrl when user clicks
outside of the edit control.
- Fixed some visual problems with Office 2007-style frame caption after
frame resizing.
- Fixed a problem with layout of auto-hide buttons when the
m_bHideInautoHideMode flag is set to TRUE and one of docking bars grouped
together in auto-hide mode is closed.
- Method UnSetAutoHideMode is virtual now.
|
|
Version 9.53. Released 5/14/2007 |
|
New features |
- Added support for Microsoft® Visual Studio® 9.0 Beta 1 (Code Name
"Orcas"). The Build and Integration Wizards are not ready yet, but you can
open VS 9.0 solutions (BCGCBPro90.sln or BCGCBProStatic90.vcproj), build
required DLLs/libraries and use them in your projects. All our
examples/samples were thoroughly tested with VS 9.0 and no problems were
detected. However, if you detect any compatibility issues, please inform us
and we'll resolve them.
Important note: CBCGPMenuBar::GetMenu and
CBCGPPopupMenu::GetMenu methods have been replaced by GetHMenu methods. This
change made due to impossibility to override virtual methods returning
different types in VS Orcas.
- Added IE 7-style "Close" button displayed on active tabs (see the
screenshot). To use this cool feature in your programs please use
the following new methods:
- CBCGPTabWnd::EnableActiveTabCloseButton: enable/disable the feature
displaying "Close" button on active tabs
- CBCGPTabWnd::IsActiveTabCloseButton: tells whether "Close" button
should be displayed on active tabs
- CBCGPMDIFrameWnd:: EnableMDITabs has a new optional parameter 'BOOL
bActiveTabCloseButton = FALSE'
- CBCGPMDITabParams: added new member BOOL m_bActiveTabCloseButton
- CBCGPVisualManager::OnDrawTabCloseButton: override this method to
customize the "Close" button appearance.
Please take a look at BCGCBDotNetExample and MDITabsDemo samples to see
this feature in action.
- CBCGPEditCtrl::FindWordStartFinish method is virtual now.
- CBCGPDockingControlBar::Slide method is virtual now.
- CBCGPPropertySheet in 'PropSheetLook_Tabs' mode displays icons on tabs
now.
|
|
Fixes: |
- Fixed bug in CBCGPFrameImpl::OnChangeVisualManager (): the MDI child
window is repainted correctly in MDI tabs in all visual managers now.
- Ribbon bar doesn't show minimize/maximize caption buttons if its parent
frame doesn't have WS_MAXIMIZEBOX/WS_MINIMIZEBOX styles.
|
|
Version 9.52. Released 5/2/2007 |
|
New features |
- Significantly improved Ribbon layout and performance. Now only
BCGControlBar Pro provides the Ribbon look that absolutely identical to
Microsoft© Office 2007 layout (see
screenshot). Prior to this version all Ribbon elements had 2
states: "regular" and "compact". From now we provide the additional state:
"intermediate", which allows to make ribbon layouts much more flexible and
customizable. We totally revised all ribbon elements, fixed all
incompatibilities in layouts/dimensions and hope that the Ribbon control now
provides the most identical to Microsoft Ribbon control look among all 3-rd
party products on the market!
- Added the ability to customize collapsing order of Ribbon control
panels: SetCollapseOrder method has been added to CBCGPRibbonCategory class.
Please take a look at the BCGPMSOffice2007Demo to see this new feature in
action.
- CBCGPCaptionBar can be created as MS Office 2007-style message bar now
(see the
screenshot). To enable this mode, just pass TRUE for the new
optional parameter of CBCGPCaptionBar::Create - BOOL bIsMessageBarMode. You
can customize the appearance of the message bar by overriding the following
CBCGPVisualManager class new methods:
- OnDrawCaptionBarInfoArea: fill information area
- OnDrawCaptionBarBorder: draw border
- OnFillCaptionBarButton/OnDrawCaptionBarButtonBorder: draw button
- Extremely improved performance of the Grid control! The Grid control can
handle thousands rows in non-virtual mode now. Added a new static member
CBCGPGridCtrl::m_bEnableAssertValidInDebug: set this member to TRUE if you
wish to enable ASSERT_VALID checking in debug mode.
Important note: If you derive your own class from
CBCGPGridItem and directly change m_varValue member, you've to call a new
CBCGPGridItem method SetModifiedFlag. Otherwise, your modification will not
have effect.
- Ribbon palette (gallery) button has now the following major enhancements
and improvements:
- Added "Button Mode": the gallery will be initially displayed as
ribbon button. SetButtonMode/IsButtonMode methods have been added to
CBCGPRibbonPaletteButton class.
- Added owner-draw galleries. Now a developer just defines
gallery item size and overrides OnDrawPaletteIcon methods. Please take a
look at the CRibbonTableButton and CRibbonListButton classes in
BCGPMSOffice2007Demo example where we demonstrate how to create
owner-draw galleries (see the
screenshot).
- Added registered message
BCGM_ON_BEFORE_SHOW_RIBBON_ITEM_MENU. This message is sent before a
ribbon gallery (and other ribbon drop-down menus) is displayed. Handling
this message allows to customize the gallery (menu) context before
displaying it. Please take a look at CMainFrame::OnShowRibbonItemMenu in
BCGPMSOffice2007Demo example where we demonstrate how to fill-up the
Undo actions list, add "Recently Used Bullets" group to "Bullets"
gallery and fill-up recently-used colors list in Ribbon color pickers.
- Ribbon color picker is derived now from CBCGPRibbonPaletteButton and has
the same look as MS Office 2007 color picker (see
screenshot). In addition, the Color Picker can be embedded into
the Ribbon Panel as a regular gallery gadget (see
screenshot). The following changes have been done in the
CBCGPRibbonColorButton class:
- Added new constructor with large image index parameter - now, you
can create the color picker with large image by default.
- EnableAutomaticButton has the new optional parameters: lpszToolTip -
button tooltip, bOnTop - put button on top, bDrawBorder - draw border
around the button
- SetColorBoxSize/GetColorBoxSize: set/get color box size (default
size is 16 x 16)
- AddColorsGroup: add group of colors (such as "Theme Colors", "Recent
Colors" and so one)
- RemoveAllColorGroups: remove all previously added color groups.
If you wish to customize color box appearance, please override the new
method of CBCGPVisualManager - OnDrawRibbonColorPaletteBox.
- Ribbon undo button is also derived now from CBCGPRibbonPaletteButton.
- Improved look of OneNote-style tabs (see
screenshot). Now the look is similar to MS Office 2007.
- Added a new sample 'RibbonGadgets' (see
screenshot). This sample demonstrates how to create the various
Ribbon elements.
- CBCGPRibbonMainPanel allows to set "Recently Used Files" group width -
there is a new optional parameter in AddRecentFilesList - int nWidth = 300.
In addition, you may put any custom ribbon elements to the main panel
instead of MRU files list - just create a new CBCGPBaseRibbonElement-derived
object and add it using the CBCGPRibbonMainPanel::AddToRight method.
- CBCGPRibbonComboBox can be created with an icon and label: there are 2
new optional parameters in the constructor: LPCTSTR lpszLabel and int
nImage.
- CBCGPRibbonPanel allows to insert new elements to the given location:
Insert and InsertSeparator methods have been added to this class.
- CBCGPTooltipManager has a new type: BCGP_TOOLTIP_TYPE_CAPTIONBAR. Use it
for display custom tooltips on CBCGPCaptionBar window.
- CBCGPRibbonLabel can display a multi-line text now: there is a new
optional parameter in CBCGPRibbonLabel constructor - BOOL bIsMultiLine =
FALSE.
- Added 2 virtual methods to CBCGPPlannerView class: OnSelectAppointment
and OnAppointmentSelected.
- Added 2 CBCGPPlannerManagerCtrl notifications:
BCGP_PLANNER_BEFORE_SELECT_APPOINTMENT and BCGP_PLANNER_SELECT_APPOINTMENT.
- CBCGPRibbonBar::OnShowRibbonContextMenu method is virtual now.
|
|
Fixes: |
- Fixed some visual problems with menu animation in ribbon menus.
- Fixed some bugs with drawing icon in ribbon button.
- OLE in-place activation is working correctly now when
CBCGPVisualManager2007 is active.
- Fixed some problems with RTL layout in ribbon bar.
- CBCGPRibbonKeyTip is correctly displayed on the multi-monitor
environment.
- Fixed some visual bugs in drawing MDI child window border in
CBCGPVisualManager2007.
- Fixed problem with restoring frame in CBCGPVisualManager2007: removed
the unnecessary window resizing.
- CBCGPPropList sends update notification when the spin button in in-place
edit control is clicked.
- CBCGPDockingControlBar correctly handles WM_SETTEXT in auto hide mode.
|
|
Version 9.51. Released 3/13/2007 |
|
New features |
- Added tooltip support to ribbon galleries (see
screenshot). The following methods have been added to the
CBCGPRibbonPaletteButton class:
- SetItemToolTip: set tooltip for specific gallery icon
- GetItemToolTip: get gallery icon tooltip
- RemoveItemToolTips: remove all gallery tooltips
- CBCGPRibbonStatusBar is merged now with the frame bottom edge (see
screenshot).
- Significantly improved behavior of ribbon mini-toolbar ("floaty"): a
mini-toolbar automatically disappears when the user moves the mouse cursor
far away from the initial location, and the bar transparency depends on the
cursor location.
- CBCGPRibbonPaletteButton is automatically stretched when the parent
ribbon panel is being resized: please take a look at BCGPMSOffice2007Demo -
the "Style" gallery may have 6, 5, 4 or 3 items in row (see
screenshot).
- Added the new registered message:
BCGM_ON_HIGHLIGHT_RIBBON_LIST_ITEM. This message is sent to the main
frame when the user highlights one of the following elements: gallery item,
drop-down list box item, color box item or custom. This message allows to
add preview when a list element is selected (for example, you can temporary
change document text color when the user selects a color). Please take a
look at BCGPMSOffice2007Demo - the information about currently selected item
appears on the status bar (see
screenshot).
- We have added a new sample program DlgToolTips according to many
customer requests. This sample demonstrates how to use
CBCGPToolTipCtrl with dialog controls (see
screenshot).
- The following keyboard support methods have been added to
CBCGPBaseRibbonElement class:
- virtual void OnSetFocus (BOOL bSet): called when a ribbon element
receives/loses the keyboard focus.
- virtual BOOL OnProcessKey (UINT nChar): override this method to
process keyboard input inside ribbon element.
- CBCGPToolbarEditCtrl class is exportable now, so a developer can
override CBCGPToolbarEditBoxButton::CreateEdit method and return a
CBCGPToolbarEditCtrl-derived class.
- CBCGPRibbonBar::AddCategory has a new optional parameter 'CRuntimeClass*
pRTI'. You can derive your own class from CBCGPRibbonCategory and pass it
into CBCGPRibbonBar class.
- New method CBCGPRibbonBar::EnablePrintPreview allows to enable/disable
the print preview tab in ribbon.
- CBCGPRibbonStatusBar introduces information mode (see
screenshot): now you can temporary hide all left-side status bar
panes and replace them with one wide information pane. The following new
methods have been added to the CBCGPRibbonStatusBar class:
- SetInformation: set/remove status bar information mode
- IsInformationMode: is status bar in information mode now?
- OnDrawInformation: override this methods to customize information
appearance.
|
|
Fixes: |
- Fixed some visual problems under Windows Vista.
- Popup menu groups are painted using bold font now.
- Fixed crash in CBCGPEditView when the document is empty and the user
opens Print Preview (VS 2003).
- Fixed problem with command notification in
CBCGPRibbonPaletteIcon:::OnClick
- If submenu's height of the main menu exceeds the application menu
height, the menu can be scrolled (see
bug report)
- CBCGPRibbonCommandsListBox correctly calculates the text offset after
the list has been emptied.
- Fixed a bug with the ribbon tab layout in case of a tab with wide text.
- Fixed bug in CBCGPMDIChildWnd::OnNcActivate: child frame controls are
activated correctly now in case of owner-draw caption.
- CBCGPRibbonUndoButton correctly saves the number of undo actions when
the button is located on popup menu.
- Fixed bug with painting of some fonts in the font combobox list.
- Improved performance of CBCGPOutlineParser.
- Fixed some problems in CBCGPToolBarImages::PreMultiplyAlpha
|
|
Version 9.5. Released 1/26/2007 |
|
New features |
- The library is fully-compatible now with Microsoft® Office System UI
Design Guidelines. Today BCGControlBar Pro is the only GUI toolkit on the
market which maintains highest compatibility level with Microsoft® Office
2007 products line!
- Added support for ribbon KeyTips (see
screenshot). When Alt or F10 key is pressed, small key
information windows appear near corresponding ribbon elements such as tabs,
buttons or menu buttons, and an user can navigate ribbon bar using keyboards
and execute required commands. The following new methods have been added for
KeyTips support:
- CBCGPBaseRibbonElement::SetKeys: set ribbon element keys. For
example, you can associate "F" key with an ribbon element by calling
pElement->SetKeys (_T("f")). In addition, you can add "\n<Keys>"
to element's label: pElement->SetText (_T("Paste\nv")) and "V" key will
be associated with the "Paste" button.
- CBCGPRibbonBar::SetElementKeys: find element by ID and associate
key(s) with it.
- CBCGPRibbonCategory::SetKeys: set key(s) for category tab
- CBCGPRibbonBar::EnableKeyTips: enable/disable KeyTips support
(enabled by default)
- CBCGPRibbonBar::OnSetPrintPreviewKeys: allows to override built-in
Print Preview keys
- CBCGPRibbonPanel::EnableLaunchButton has a new optional parameter
'lpszKeys': specifies panel launch button key(s)
- CBCGPRibbonPanel::SetKeys: set collapsed panel key(s)
- CBCGPVisualManager::OnDrawRibbonKeyTip: override this method to
customize KeyTip appearance in your own Visual Manager
- Added support for mini toolbar ("floaty") with context menus (see
screenshot). To implement this feature in your application, just
call new method of CBCGPRibbonFloaty class 'ShowWithContextMenu' (please
take a look at CBCGPMSOffice2007DemoView::ShowContextMenu in
BCGPMSOffice2007Demo)
- The following ribbon gadgets have been added and improved:
- Added a new class CBCGPRibbonUndoButton (see
screenshot): implements Office-style ribbon undo
button.
- Added a new class CBCGPRibbonHyperlink (see
screenshot): implements ribbon hyperlink button.
- BCGPMSOffice2007Demo demonstrates how to implement Office 2007-style
table palette (see
screenshot). Please take a look at CRibbonTableButton class
in BCGPMSOffice2007Demo to see how to implement this kind of ribbon
gallery in your application with few lines of code!
- Added support for text alignment in CBCGPRibbonEdit: SetTextAlign
and GetTextAlign methods have been added
- Added support for Microsoft® Office 2007-style applications to
Application Wizards for VC++ 6.0 and VS 2005 (see
screenshot). Now a developer can create a Ribbon-based
application with a single click in few seconds!
- BCGPGridExamples demonstrates how to create merged cells in the grid
control (see
screenshot)
- Improved Office 2007 Aqua Style (see
screenshot). Now, this theme is more compatible with other Office
2007 themes such as Blue, Silver and Black.
- Now the toolkit utilizes Microsoft® Office 2007 font (if installed on
the client machine) that makes the text much more smooth and readable (see
screenshot). If you wish to disable this font, just set
globalData.m_bUseSystemFont to TRUE and all ribbons/menus/toolbars texts
will be drawn using the default GUI font.
- According to many customer requests, we added a new sample program
MenuSubSet. This sample demonstrates how to remove specific menu items
and submenus at the application startup.
- The following CBCGPGridCtrl class methods have been added and changed:
- Added new method CBCGPGridCtrl::OnPosSizeChanged: called by the
framework every time the grid performs repositioning of its content.
- CBCGPGridCtrl::ReposItems function is virtual now.
- Some verification code inside CBCGPGridCtrl::AddRow and
CBCGPGridCtrl::InsertRowAfter was enclosed with the _DEBUG macros for
better performance.
- CBCGPToolTipCtrl displays an additional information such as icons if it
is associated with a ribbon element. Also, the tooltip is displayed below
the ribbon bar now (see
screenshot).
- The library automatically scales all ribbon elements when the Extra
Large Font is enabled (see
screenshot). If you wish to disable this feature, just call
globalData.EnableRibbonImageScale (FALSE).
- Added processing of standard clipboard accelerators such as "Ctrl+C" to
CBCGPRibbonEdit.
- Added method CBCGPRibbonStatusBar::IsExtendedElement: this function
allows to detect whether a status bar element is located at the regular
(left), or extended (right) status bar part.
- CBCGPRibbonButton automatically handles the MDI Windows submenu now.
Just attach a standard MDI Windows menu to a ribbon button and the library
will automatically fill MDI Children list.
- CBCGPRibbonButton::AddSubItem has new, optional parameter 'nIndex' - you
can insert a subitem at the position specified by the index.
- Small elements are aligned vertically at the top of panel now. If you
wish to center them vertically just call CBCGPRibbonPanel's new method
SetCenterColumnVert.
|
|
Fixes: |
- Fixed bug in CBCGPGridRow::GetSubItems when bRecursive parameter is true.
- Fixed crash in CBCGPEditView when the document is empty and the user
opens the Find/Replace dialog.
- Fixed bug in CBCGPControlBar::OnShowControlBarMenu: the library
correctly makes control bar floating when "Floating" command has been
invoked from the control bar's context menu.
- Fixed bug in CBCGPMDIFrameWnd::CreateNewWindow: the library correctly
restores MDI documents at the application startup in case of non-tabbed MDI.
- Fixed bug with mirroring of 32-bit images in
CBCGPToolBarImages::MirrorBitmap.
- Fixed some problems with using 32-bit images in CBCGPButton.
- Fixed problem with application frame layout on loading when ribbon
replaces the application caption bar.
- The standard MDI commands such as "Tile" or "Cascade" are working
correctly now when CBCGPVisualManager2007 is active.
- CBCGPTabWnd::OnDestroy cleans-up the button list now: this fix allows to
reuse tab control after attached window has been deleted.
- Optimized idle processing in Ribbon Print Preview tab.
|
|
Version 9.4. Released 11/27/2006 |
|
New features |
- BCGControlBar Pro is fully compatible with Microsoft® Windows® Vista®
now (see
screenshot)! Please run
BCGPMSOffice2007Demo example under Vista (don't forget to enable Aero!)
and see this integration in action. The following general features have been
added and improved for the Vista support:
- Ribbon "glass" caption. Includes semi-transparent icons on QAT,
Vista-style system buttons with glove and animation and glass-style
contextual caption
- Glass borders and captions in Visual Manager 2007
- All menu shadows are fully Vista-compatible
- The library correctly handles DWM notifications in order to
automatically apply Aero styles to frames and control bars.
You don't need to make any changes in your source code to apply the new
Vista look: all integration process is handled automatically by the library!
More screenshots are available
here.
- The following ribbon gadgets have been added and improved:
- Added a new class CBCGPRibbonEdit (see
screenshot): implements ribbon edit box with image, text
label and spin buttons. Please take a look at the BCGPMSOffice2007Demo
example ("Page Layout" tab, "Paragraph" panel) to see the new control in
action
- CBCGPRibbonStatusBarPane allows to show animation on status bar
pane (see BCGPMSOffice2007Demo example). You need to pass an image list to
CBCGPRibbonStatusBarPane constructor and call StartAnimation/StopAnimation
methods in order to add animation to status bar pane.
- CBCGPRibbonPaletteButton allows to resize drop-down menu (see
screenshot). Call the new method
CBCGPRibbonPaletteButton::EnableMenuResize to enable this feature.
- CBCGPRibbonComboBox drop-down list is resizable (see
screenshot)
- Added a new class CBCGPRibbonPaletteMenuButton: implements a
popup palette submenu (see
screenshot) and can be used in CBCGPPopupMenu instead of
CBCGPToolbarMenuButton item. Please take a look at
CMainFrame::OnShowPopupMenu in BCGPMSOffice2007Demo example to learn how to
use palettes in application context menus.
- You can add separators to the Ribbon QAT (see
screenshot)
- Introduced new, Office 2007-style options dialog (see
screenshot). The new style 'PropSheetLook_List' has been
added to CBCGPPropertySheet class. In addition, you can define your own
property sheet headers. Call CBCGPPropertySheet::EnablePageHeader and
override CBCGPPropertySheet::OnDrawPageHeader method in order to create your
property sheet header. Please take a look at BCGPMSOffice2007Demo example to
see this feature in action.
- Added a new registered message 'BCGM_ON_RIBBON_CUSTOMIZE'. This
message is being sent to the frame windows when user chooses the ribbon
customization. Handle this message if you wish to make your own ribbon
customization, or integrate a default ribbon customization page in your
"Options" property sheet. Please take a look at
CMainFrame::OnRibbonCustomize in BCGPMSOffice2007Demo to see how to
implement this feature.
- The ribbon customization menu looks now the same as in Office 2007 (see
screenshot). Use new CBCGPRibbonBar::SetQuickAccessDefaultState
method in order to define a set of preferred ribbon QAT items.
- Now you can enable/disable ribbon tooltips by using the new method
CBCGPRibbonBar::EnableToolTips.
- CBCGPRibbonCustomizePage allows to add a custom categories: the new
method 'AddCustomCategory' has been added. Please take a look at
CMainFrame::ShowOptions in BCGPMSOffice2007Demo example where we show how to
add "Popular Commands" group to a Ribbon customization page.
- CBCGPRibbonBar has a new method: AddQATOnlyCategory. Use this method to
add hidden categories, which should be shown on customization page only and
should never appear on the ribbon itself.
- New method CBCGPRibbonBar::GetItemIDsList returns list of all or hidden
ribbon item IDs.
- A new method CBCGPRibbonBar::ForceRelalcLayout performs full ribbon
layout recalculation without using any cashed states and optiomizations.
This method is useful in case of changing ribbon context "on the fly".
- Added image list access methods to CBCGPRibbonCategory class:
GetSmallImages and GetLargeImages.
- CBCGPRibbonPanel::SetJustifyColumns allows to set all column elements to
the same width.
- All library examples are 64 bit-compatible now. You can build them using
VS 2005 environment and run under 64 bit OS. All examples and samples have
been compiled with 64-bit compiler - you can download a zip with executables
here.
- The following new methods have been added to CBCGPVisualManager class:
- OnDrawMenuResizeBar: draws menu resize bar
- OnDrawRibbonQATSeparator: draws separator located on the Ribbon QAT
- OnDrawPropSheetListItem: draws navigation list (located at property
sheet left side) item
- CBCGPDBGridCtrl has a new virtual method 'OnBeforeAddRow'. Override this
method in order to filter out database records being added to grid.
- CBCGPPopupWindow has a new virtual method 'OnClickLinkButton'. This
method is called when user clicks URL control on popup window.
- CBCGPControlRendererParams has a new 'm_bPreMultiplyCheck' member.
- CBCGPMemDC uses OS buffered paint under Microsoft® Windows® Vista.
- GLOBAL_DATA has a new member: bDisableAero. Set this member to FALSE if
you wish to disable glass effects when the program is running under Vista.
- CBCGPPlannerManagerCtrl::SetImages method has a new optional parameter '
COLORREF clrTransparent' - image transparent color.
- CBCGPCalculatorPopup window can be "tear-off" now.
|
|
Fixes: |
- CBCGPRibbonRecentFilesList::FillList checks if application's
m_pRecentFileList is null.
- CBCGPInplaceToolTipCtrl correctly displays multi-line text.
- CBCGPEdit::OnBrowse updates edit modify flag now.
- Solved Vista-incompatibility problem in CBCGPToolBarImages::CopyTo
method
- Fixed 32-bit images bug in CBCGPTasksPane::SetIconsList
- Fixed bug in CBCGPPrintPreviewView in case of MDI application (VS
2003/2005).
- Fixed some problems with menu/keyboard navigation in ribbon-based menus.
- CBCGPRibbonPanel doesn't truncate the caption if the caption text is
wider than elements area.
- Solved some problems with accessibility in the menu bar.
- Removed unnecessary layout recalculations in CBCGPAppBarWnd window.
- Some fixes in Grid control.
|
|
Version 9.3. Released 10/02/2006 |
|
New features |
- CBCGPVisualManager2007 implements MS Office 2007 Beta 2 Technical
Refresh look (see
screenshot)! The following UI elements have a new fresh look and
functionality:
- The main ribbon ("Office") button has a new look and covers a part
of dropped-down menu (see
screenshot). In addition, the main button behavior is the
same as in the latest Office 2007 release.
- Changed look of ribbon quick access toolbar ("QAT")
- The Silver Theme has the same look as in Office 2007 Beta 2 TR now
(see
screenshot)
- Added popup ribbon panels in minimized state (see
screenshot). In others words, when user clicks the category tab
on minimized ribbon bar, the temporary popup category appears instead of
restored ribbon. This functionality is very similar to Visual Studio
auto-hide bars and allows to keep more free space for editing without
loosing the ribbon functionality. This feature is provided automatically
"out of the box", so no code changes are required.
- A new class CBCGPRibbonStatusbar has been added. This class
implements Office 2007-style customizable, ribbon-based status bar control
(see
screenshot). Unlike "classic" status bar, this control may host
any kind of ribbon elements such as buttons, combo boxes and so one. User
may choose preferred elements by using built-in status bar customization
menu (see
screenshot). Please take a look at BCGPMSOffice2007Demo program to
see this control in action.
- The following new Ribbon widgets have been added (generally, these
elements were designed for using along with the new ribbon status bar, but
you can use them inside any ribbon panels, menus and popups):
- CBCGPRibbonStatusBarPane: implements status bar pane element
- CBCGPRibbonSlider: implements slider control
- CBCGPRibbonProgressBar: implements progress bar
- CBCGPVisualManager exposes the following new virtual methods for ribbon
status bar custom rendering:
- OnDrawRibbonStatusBarPane
- OnDrawRibbonSliderZoomButton
- OnDrawRibbonSliderChannel
- OnDrawRibbonSliderThumb
- OnDrawRibbonProgressBar
- x64 libraries and DLLs are compiled in separate folder bin64. This
prevents mix-up between 32 and 64-bit program databases when both platforms
are used together.
|
|
Fixes: |
- Ribbon MDI print preview is working correctly now in VS 2003 or higher.
- Floating bars do not lose roll up state when the docking state has been
restored.
- Fixed situation when conversion of tabbed control bar to tabbed document
left an empty docking bar in place of tabbed docking bar.
- Fix in CBCGPGridCtrl::LoadState. Loading state for the sorting columns
from registry is fixed.
- Fix in CBCGPGridCtrl::DoRemoveRow. Removing row with sub-items is fixed.
- Ribbon bar draws disabled item text using currently selected theme now.
- Fixed a minor problem with drawing ribbon caption in case of activating
contextual tabs.
- Fixed some problems in closing Ribbon menus.
|
|
Version 9.2. Released 9/11/2006 |
|
New features |
- Added support for ribbon contextual categories (tabs) (see
screenshot). The following new methods were added to
CBCGPRibbonBar class for contextual categories support:
- AddContextCategory: add a new contextual category
- ShowContextCategories: show categories for specific context
- HideAllContextCategories: hide all contextual categories
- ActivateContextCategory: activate contextual tab
- GetContextName: get context name by context ID
Please take a look at BCGPMSOffice2007Demo example to see this feature in
action. You need to select "Insert" tab and click "Picture", "Chart" or
"Table" buttons in order to activate the contextual tabs. A new object with
contextual tabs will be added.
- Added support for Print Preview in ribbon bar (see
screenshot). Now, when the print preview mode has been activated,
the ribbon bar automatically hides all categories and "Print Preview" tab
becomes active.
- Added support for converting MDI docking bars to MDI tabbed documents
(see
screenshot). The following new virtual methods have been added to
CBCGPMDIFrameWnd class for MDI tabbed documents customization:
- CanCovertControlBarToMDIChild: return TRUE to enable this feature; FALSE
- to disable. By default, this feature is disabled to keep the backward
compatibility
- ControlBarToTabbedDocument: convert control bar to tabbed document
- TabbedDocumentToControlBar: convert tabbed document to control bar
Please take a look at BCGCBDotNetExample to see this feature in action.
- CBCGPRibbonBar has new methods to show/hide categories (tabs):
ShowCategory and GetVisibleCategoryCount.
- The following new methods have been added to CBCGPRibbonCategory class:
- SetData: set category user-defined data
- GetData: get category user-defined data
- GetContextID: get category context ID
- SetTabColor: set category tab color
- GetTabColor: get category tab color
- IsVisible: tells whether category is visible
- FindByData: find an element by user-defined data
- CBCGPVisualManager has new virtual method: OnDrawRibbonCategoryCaption.
Override it if you wish to draw your own contextual category caption.
- CBCGPBaseRibbonElement has new methods to set/get user-defined data:
SetData/GetData
- Added support for show/hide items in property list. New methods 'Show'
and 'IsVisible' have been added to CBCGPProp class. Please take a look at
BCGPControls example to see this feature in action.
|
|
Fixes: |
- Fixed some problems in Ribbon layout recalculation in non-standard display
modes
- Fixed some problems in closing Ribbon menus
- Fixed problem with redrawing text in CBCGPOutlookWnd caption
- CBCGPToolBar::OnGetButtonText returns text length when lParam is 0
- Fixed resource leak in drawing transparent images under Windows 98/ME
- Fixed problem in storing/loading recurrent appointments in storage.
- CBCGPVisualManager2007: tab label is drawn correctly now in Obsidian
(black) mode
|
|
Version 9.1. Released 8/7/2006 |
|
New features |
- CBCGPVisualManager2007 offers a new visual style: VS2007_Silver (see
screenshot)
- Ribbon context menu has a new item: "Minimize/Restore the Ribbon" (see
screenshot)
- Added support for custom color palettes in CBCGPRibbonColorButton class
(see
screenshot). The following new methods have been added:
- SetPalette: set ribbon color picker custom palette
- SetColumns: set number of palette columns
- GetColumns: get number of palette columns
- CBCGPBaseRibbonElement has new virtual methods: OnEnable and OnCheck.
These methods are called when element state is being changed.
- Grid control has the following new methods:
SetSelectionBorderForActiveItem, IsSelectionBorderForActiveItem,
SetHighlightActiveItem and IsHighlightActiveItem. These methods have been
added in order to customize look of selected grid item.
- CBCGPToolTipParams has the new boolean member: m_bVislManagerTheme.
Setting this member to TRUE allows to automatically show tooltips with the
currently selected visual manager style. Just add the following simple code
to your application' InitInstance and see the extended tooltips in all
library controls (see
screenshot):
InitTooltipManager ();
CBCGPToolTipParams params;
params.m_bVislManagerTheme = TRUE;
GetTooltipManager ()->SetTooltipParams (BCGP_TOOLTIP_TYPE_ALL,
RUNTIME_CLASS (CBCGPToolTipCtrl), ¶ms); |
You need to override new method CBCGPVisualManager::GetToolTipParams in
order to define tooltip style in a CBCGPVisualManager-derived class.
- Added 2 new samples:
- MDICustomBackground (see
screenshot): demonstrates how to produce a custom drawing on
MDI client area.
- RibbonMDIDemo (see
screenshot): demonstrates ribbon bar in MDI application with
MDI tabbed groups and docking control bars.
- CBCGPToolBarImages has a new static member 'm_bMultiThreaded'. You have
to set this member to TRUE if you're using toolbar images in different
threads.
- Added new notification message 'BCGM_ON_CHANGE_RIBBON_CATEGORY'. The
ribbon control sends this message to owner when the active category (tab) is
being changed.
- CBCGPBarContainerManager::SetContainerRTC allows customization of
docking containers. You can derive a custom class from CBCGPBarContainer and
override some methods like StretchContainer and OnMoveInternalSlider.
|
|
Fixes: |
- Fixed some problems in Ribbon layout recalculation.
- Full screen mode layout is correctly restored in case of ribbon bar.
- Size of docking control bars is handled correctly when a floating bar is
docked by double clicks.
- Fixed redrawing problems in CBCGPVisualManager::RedrawAll and
CBCGPVisualManager::AdjustFrames in case of multi-threaded application
- All ribbon disabled elements are painted correctly now in all visual
managers
- Maximized application window is repainted correctly now when
CBCGPVisualManager2007 is active.
- Print preview mode layout is calculated correctly now when the frame has
embedded ribbon bar.
- Fixed bug in CBCGPGridItem::HasButton
- Fixed printing of the column header in the grid
- Added left-hand mouse settings support to the grid
|
|
Version 9.0. Released 6/28/2006 |
|
New features |
- The long-awaited Microsoft® Office 2007 ("Office 12")-style
support! Please take a look at the new example
BCGPMSOffice2007Demo to see how to implement this style in your
application. The following general features are introduced in Office 2007
style:
- Ribbon Control support. "Ribbon" control (see
screenshot) was introduced by Microsoft® in Office 2007. It's not
just a new control - it's a new user interface ideology. Ribbon control
replaces traditional toolbars and menus with tabbed groups (Categories).
Each group is logically split into Panels and each panel may contain various
controls and command buttons. In addition, Ribbon control provides smart
layout maximally utilizing the available space. For example, if a Panel has
been stretched and has no place to display all available controls, it turns
into a menu button which can display sub-items on a popup menu.
The following gadgets are supported by ribbon out of the box:
- Button
- Button group
- Menu button
- Combo box
- Label
- Check box
- Color picker
- Font picker
- Palette with pull-down menu
- File ("main") menu
The ribbon control has customization abilities provided by customization
dialog (see
screenshot) and built-in context menu (see
screenshot).
- New class CBCGPVisualManager2007. The new visual manager
implements Office 2007 look for both "ribbon-based" and "classic" (with
toolbars and menus) applications. The following 3 new styles are implemented
out of the box:
- Luna blue (see
screenshot 1 and
screenshot 2)
- Obsidian (see
screenshot 1 and
screenshot 2)
- Aqua (see
screenshot 1 and
screenshot 2)
Resources for the above styles are placed in new DLLs:
BCGPStyle2007Luna.dll, BCGPStyle2007Obsidian.dll and BCGPStyle2007Aqua.dll.
In case of static link you have to add the required Style.rc file to your
project.
- Another great addition is "Floaty". Floaty is a semi-transparent
toolbar appearing right near the cursor and containing "hot" commands
relevant for the current context (see
screenshot).
- The calendar control supports Office 2007 look (see
screenshot).
- Planner control
- Added new drawing flags: BCGP_PLANNER_DRAW_APP_GRADIENT_FILL,
BCGP_PLANNER_DRAW_APP_ROUNDED_CORNERS,
BCGP_PLANNER_DRAW_APP_OVERRIDE_SELECTION
- SetDrawFlags/GetDrawFlags methods were added to CBCGPPlannerManagerCtrl
class
- The following new notifications have been added to the planner control:
BCGP_PLANNER_DRAG_APPOINTMENTS, BCGP_PLANNER_BEGIN_CHANGE_OPERATION,
BCGP_PLANNER_END_CHANGE_OPERATION, BCGP_PLANNER_CHANGE_OPERATION,
- Added ability to set working hours/minutes. Added new methods
SetWorkingHourMinuteInterval, GetFirstWorkingMinute, GetLastWorkingMinute.
- EditCut, EditCopy and EditPase are virtual now.
- Grid control:
- Renamed grid item flags from PROP_XXX to BCGP_GRID_ITEM_XXX
(BCGP_GRID_ITEM_HAS_LIST, BCGP_GRID_ITEM_HAS_BUTTON,
BCGP_GRID_ITEM_HAS_SPIN, BCGP_GRID_ITEM_AUTOGROUP) and moved to
bcgpgridctrl.h file.
- Added new notification: virtual void CBCGPGridRow::OnExpand (BOOL
bExpand). It is called on collapsing or expanding of a group item.
- Added DECLARE_DYNCREATE for grid items. It is possible to create grid
items via CBCGPGridCtrl::SetItemRTC, CBCGPGridCtrl::SetDefaultItemRTC by
setting custom CRuntimeClass for specific column.
- The CBCGPGridCtrl::SetItemRTC can recieve NULL pointer to CRuntimeClass
structure in order to remove a key for specific column.
- Added new CBCGPGridDateTimeItem::SetDateTime function.
- You can toggle the state of checkitem by pressing the space key.
- You can align text on the header differently from the text alignment of
columns. There is a new member m_nHeaderAlignment in CBCGPGridColumnsItem
class. New CBCGPGridCtrl::SetHeaderAlign, CBCGPGridCtrl::GetHeaderAlign have
been added.
- You can reserve extra space at the top and at the bottom of the grid.
Added new functions CBCGPGridCtrl::SetGridHeaderHeight,
CBCGPGridCtrl::SetGridFooterHeight, CBCGPGridCtrl::GetGridHeaderRect,
CBCGPGridCtrl::GetGridFooterRect.
- Added new function CBCGPGridCtrl::GetSortedColor.
- Added new function CBCGPGridCtrl::UpdateColumnsChooser. You can update
the column chooser.
- New method virtual BOOL CBCGPGridCtrl::CanDropColumn (int nNewPosition,
int nOldPosition) has been added. It allows to control whether a grid header
item can be dropped, or not at the specified position.
- Added new grid header notifications: OnHeaderDividerDblClick,
OnHeaderColumnClick.
- Default painting of the grid handled by visual managers. Added new
Office2007 look for grid header.
- The following CBCGPProp methods are virtual now: GetValue, SetValue and
IsSelected.
- CBCGPBarContainerManager::SetContainerRTC allows customization of
docking containers. You can derive a custom class from CBCGPBarContainer and
override some methods like StretchContainer and OnMoveInternalSlider.
|
|
Fixes: |
- Fixed bug with double appearance of control bar names in the context
menu after one of application control bars has been re-docked.
- Fixed some bugs with printing and print preview in the grid control.
- CBCGPPopupWindow correctly restores foreground window.
- CBCGPDateTimeCtrl drop down and spin button edges are calculated
correctly in all visual managers.
- Border of toolbox is painted correctly in VS 2005 visual manager.
- Fixed problem with clicking application non-client area when
CBCGPContextMenuManager::TrackPopupMenu is idle.
- CBCGPToolTipCtrl correctly calculates layout for large tooltip images.
- Improved performance of CBCGPToolBarImages image drawing.
- CBCGPToolBarImages always correctly processes 32-bit images after system
color has been changed.
- Grid'd LoadState and SaveState use the application path in the registry.
- Grid selection border is repainted correctly now.
|
|
Version 8.6. Released 4/5/2006 |
|
New features |
- Added support for multi-line tooltips with custom colors, rounded shapes
and icons (see
screenshot). In addition, a developer can use the standard
balloon-style tooltips along with the library GUI elements such as toolbars,
menus, tab controls (see
screenshot) and create custom owner-draw tooltips
(see
screenshot). The following new classes have been added:
- CBCGPToolTipCtrl: the base class for user-defined tooltips
- CBCGPTooltipManager: manages relations between tooltips and
library controls
CBCGPWorkspace class has
the new method:
InitTooltipManager. Call
this method in application's
InitInstance to initialize
the tooltip manager.
Please take a look at the new sample program TooltipDemo
to see the new tooltip control in action.
- The look of all GUI elements is adapted to Windows® Vista®
- CBCGPWinXPVisualManager utilizes more Window XP Theme elements to
provide a "more native" Windows XP look (see
screenshot)
- All DLLs and libraries are located now within the single folder: "bin".
The versions for VS.NET, VS.NET 2003 and VS 2005 have "70", "71" and "80"
suffixes.
- The following new samples have been added:
- TooltipDemo: illustrates the new tooltip control and tooltip manager
- ToolBoxDemo: demonstrates usage of CBCGPToolBox and CBCGPToolBoxEx
classes.
- Planner control:
- The new BCGP_PLANNER_BEFORE_UPDATE_APPOINTMENT message enables developers
to commit or cancel an appointment update action.
- Added the new BCGP_PLANNER_DROP_APPOINTMENTS message. This message will
be sent after appointment has been dropped to the planner view. By default,
a new virtual method 'OnAppointmentsDropped' is called.
- Enhanced keyboard support: the Esc key cancels appointment resizing and
the Tab key selects next appointment.
- Methods CBCGPPlannerManagerCtrl::SelectAppointment and
CBCGPPlannerManagerCtrl::ClearAppointmentSelection are public now.
- New method CBCGPPlannerManagerView::SetManagerCtrlRTC allows using the
planner with a custom CBCGPPlannerManagerCtrl-derived class
- Edit control:
- Added new member BCGP_EDIT_COLOR_BLOCK::m_bCaseSensitive. If this member
is TRUE, the editor syntax highlighting for this block is case sensitive
- CBCGPOutlineBaseNode::m_bCollapsedDefault specifies whether new outline
blocks will be initially collapsed or not. By default this member is FALSE.
- New color settings in CBCGPEditCtrl class:
- m_clrBackOutline: background color for the outline area of the
editor
- m_clrLineOutline: this color is used to paint lines in the outline
area of the editor
- m_clrBackLineNumber: background color for the line numbers area of
the editor
- m_clrTextLineNumber: this color is used to paint line numbers in the
line numbers area of the editor
- m_clrBackSidebar: background color for the sidebar of the editor
- Grid control:
- Added new methods CBCGPGridCtrl::SetRowMarker and
CBCGPGridCtrl::IsRowMarker. You can use these methods to show/hide the grid
row marker.
- New method CBCGPGridCtrl::GetColumnOrder returns a value that specifies
the position of the column from left to right.
- Added the new method CBCGPGridCtrl::RebuildIndexes. Use this function to
rebuild row indexes in the grid after inserting a row in the middle or after
deleting rows.
- The following new registered messages have been added to the grid
control:
- BCGM_GRID_SEL_CHANGED: sent when the selection has changed
- BCGM_GRID_ITEM_DBLCLICK: sent after the grid item double-click
- The following new virtual methods have been added for the print and
print preview support: OnPreparePrintPages, OnCalcPrintPages, CalcPages.
- Added the new wrapper function CBCGPGridItem::GetInPlaceWnd. It
retrieves the pointer to the in-place edit for the current cell in the grid
control.
- CBCGPDockManager::m_pAutoHideToolbarRTC allows to implement custom auto
hide toolbars (auto-hide toolbar is a control that contains auto-hide
buttons).
- CBCGPPopupMenu has a new animation type: SYSTEM_DEFAULT_ANIMATION. This
type is supported now by customization dialog out of the box.
- The new methods CBCGPToolBoxPage::AddButton and
CBCGPToolBoxPage::GetButton provides an easy way to customize toolbox.
- Added ability to remove items from the property list:
CBCGPProp::RemoveSubItem and CBCGPPropList::DeleteProperty methods were
added.
- Methods CBCGPPopupMenuBar::ImportFromMenu and
CBCGPPopupMenuBar::ExportToMenu are virtual now.
- CBCGPPopupWindow has 2 new virtual methods: GetDialogSize and
OnBeforeShow
- Added support for Smart Docking in MDI Child frames.
|
|
Fixes: |
- Fixed a lot of problems with GUI element colors in various color themes.
- Fixed problem with appearance of "Help" button in customization dialog.
- The library correctly handles CBRS_HIDE_INPLACE style.
- Fixed problem with minimize state of MDI children in MDITabs mode.
- The library correctly handles cases when minimal size has been set for
docking control bars. You need to set CBCGPControlBar::m_bHandleMinSize =
TRUE; (it's a static member).
- Fixed various problems with container/server applications.
- Fixed problem with wrong redrawing of appointments in the daily view.
- The CBCGPAppBarWnd class handles the system WM_SETTINGSCHANGE message to
re-dock or reposition the bar accordingly.
- CBCGPColorDialog cancels the color picking mode now when user opens the
dialog system menu.
- Fixed problem with application shut down when a menu invoked in
CBCGPControlBar::OnShowControlBarMenu has been shown.
- A control bar is not added to the control bar menu if CanBeClosed method
returns FALSE.
- Fixed some problems with accessibility support in menus.
- Fixed bug on grid column resizing: selection in the grid is updated
properly now.
- Fixed bug on double click for read-only and disabled grid items. Double
click event is handled properly now.
|
|
Version 8.5. Released 12/19/2005 |
|
New features |
|
Microsoft® Visual Studio 2005® final
release look The following GUI elements
have been changed and enhanced:
-
Smart Docking markers (see
screenshot). The SmartDockingDemo sample
demonstrates how to show VS 2005 beta-style markers (see
screenshot).
-
CBCGPVisualManagerVS2005 implements the
color theme identical to VS 2005 (see
screenshot)!
-
Docking tabs and auto-hide buttons have the
same look as in VS 2005 final release (see
screenshot). If you like the rounded edges
introduced in VS 2005 beta versions, you can set
CBCGPVisualManagerVS2005::m_bRoundedAutohideButtons to TRUE.
|
|
Grid Control
-
New! The new sample application
BCGPGridExample (see
screenshot) demonstrates how to use all basic and
advanced functionalities of the Grid Control.
-
New! Virtual Mode
support. You can create high-performed Grid Control with unlimited number of
items. The following new methods were added to CBCGPGridCtrl for the virtual
mode handling:
Please take a look at the BCGPGridExample
application ("Virtual List" tab and "Grid Control | Virtual
Mode Test" dialog) to see how to add to the grid 1 billion
items.
In addition, the virtual mode has been implemented in the
database grids: the new 'EnableVirtualMode'
method added to the CBCGPDBGridCtrl class. Run the
BCGPDBGridDemo example to see this feature in action.
-
New! Color Themes.
Added advanced support for grid item colorization (see
screenshot). The new SetColorTheme method allows
to define color/gradient attributes for each grid area such as odd/even rows,
groups, header, selection and more. In addition, you can define color attributes
of individual grid cells using the new CBCGPGridItem methods SetBackgroundColor
and SetTextColor. This new advanced technology allows to create state of the art
grids in minutes! Please take a look the BCGPGridExample program ("Custom
Colors" tab) to see this technology in action.
-
New! Cell Icons. Now
grid cells support three modes: "icon and text", "icon only", "text only". The
following new methods allow to implement this feature:
-
CBCGPGridItem::SetImage: associates an item
with an image index
-
CBCGPGridCtrl::SetImageList: sets grid image
list
-
CBCGPGridItem::OnDrawIcon: draws a cell
icon; override this method for owner draw icons
-
Grid Selection. The following
selection handling methods have been added to CBCGPGridCtrl:
-
GetCurSelItem
-
IsRowSelected
-
IsColumnSelected
-
GetSelectedItems
-
OnSelChanging
-
OnSelChanged
-
Miscellaneous Grid Additions:
-
CBCGPGridRow has the new method GetSubItems.
Using this method a developer can access grid row subitems.
-
CBCGPGridItem::SetValue has the new optional
parameter ' BOOL bRedraw = TRUE'.
-
CBCGPGridURLItem::SetURL has been added: now
you can dynamically change the item URL
-
The grid sends the new notification message
BCGM_GRID_ON_HIDE_COLUMNCHOOSER when an user hides the
column chooser.
-
CBCGPGridCtrl::EnableHeader has the new
optional parameter 'DWORD dwFlags'. The following flags can
be applied: BCGP_GRID_HEADER_MOVE_ITEMS - allows to move
header items, BCGP_GRID_HEADER_HIDE_ITEMS - allows to hide
header items and BCGP_GRID_HEADER_SORT - enables sorting of
columns.
-
CBCGPGridCtrl::SetSelectionBorder
enables/disables border around selection
-
The new methods BCGPGridCtrl::CreateItem,
CBCGPGridCtrl::SetItemRTC and
CBCGPGridCtrl::SetDefaultItemRTC allows to customize
initialization of grid cells.
-
CBCGPGridCtrl::CanHideColumn prevents hiding
of specific grid column(s)
-
The following new CBCGPGridCtrl virtual
methods allow to customize the grid appearance:
OnFillSelItem, OnFillLeftOffset, OnFillHeaderBackground,
OnDrawHeaderItemBorder and OnDrawSelectionBorder
|
Planner (Calendar) control
-
New! Multi-day and All Day
events. Now the Planner Control supports Multi-day and All Day appointments
out of the box (see
screenshot). An All Day event can be defined by the new
CBCGPAppointment's method 'SetAllDay'.
- The planner control has read-only mode: the new
CBCGPPlannerManagerCtrl::SetReadOnly method has been added. Set this flag to
TRUE to prevent changes in the planner control.
- The new method CBCGPPlannerManagerCtrl::SetShowToolTip allows to display
tooltips over appointments.
- The following notification messages have been added:
BCGP_PLANNER_TYPE_CHANGED, BCGP_PLANNER_DATE_CHANGED,
BCGP_PLANNER_LBUTTONDBLCLK, BCGP_PLANNER_KEYDOWN and
BCGP_PLANNER_ICONUPDOWN_CLICK.
- The CBCGPPlannerManagerCtrl methods UpdateCalendarsState and
UpdateCalendarsSelection have the new optional parameters 'CBCGPCalendar*
pWndCalendar'. It allows to synchronize planer context with different
calendar controls.
- The new method CBCGPPlannerManagerCtrl::Print allows printing without the
Document/View framework (e.g., in dialog application or Active X control).
|
|
Miscellaneous:
- Added ability to add/change/delete menu icons in customization mode.
- Creating the control bar context/toolbars menu is much easier now: the
following method has been added to the frame classes: EnableControlBarMenu.
Instead of adding control bars/toolbars menus to the resources and handling
OnView/OnUpdateView for each control bar, just call EnableControlBarMenu in
your CMainFrame::OnCreate and the rest will be handled by the library
(useful for new applications, the existing applications should work as
before).
- The new method CBCGPToolBoxPage::SetMode allows to display a toolbox page
in various modes (see
screenshot).
- CBCGPMenuButton has the new member 'BOOL m_bDefaultClick'. Setting this
member to TRUE allows to define a default action for a menu button (clicking
on text/image area, not on arrow). (see
screenshot)
- CBCGPTabbedControlBar has two new static members:
- m_bTabsAlwaysTop: allows to display docked tabs always on
the top
- m_pTabWndRTC: run-time class information of embedded tab
control
- CBCGPMenuBar::m_bClearHashOnClose has been added. If this member is TRUE,
all temporary menu files are immediately deleted when the menu bar has been
destroyed. Before this change the temporary files were deleted on the
application exit. This flag can be useful in multi-frame applications where
the menu bar is created and deleted many times on the fly.
- The new static member CBCGPSlider::m_pSliderRTC allows to define the
slider run-time class.
- CBCGPDrawManager::GrayRect has the new optional parameter 'clrDisabled'.
- The new notification message 'BCGM_ON_MOVETOTABGROUP' is sent to the main
frame window when the user moves an MDI child window from one tab group to
another.
- CBCGPOutlookWnd::AddControl has the new optional parameter dwBCGStyle. You
can modify the page style by setting this parameter to a specific value (for
example, you can make a detached page non-closable).
- CBCGPDateTimeCtrl::m_monthFormat allows to define the month format: short,
full or numeric
- CBCGPPropList::SetDescriptionRows defines the number of text rows in the
property list description area.
- CBCGPHotSpotImageCtrl::EnableScrollBars enables/disables scroll bars
appearance in control
- CBCGPCalendar::EnableGradientFillCaption allows to draw the calendar
caption using gradient fill
- CBCGPVisualManager has the following new methods:
- GetMenuItemTextColor: returns the menu item text color
- OnDrawMenuCheck: draws menu item check box/radio button
- IsDockingTabHasBorder: enables/disables the border around
the docking tab control
- GetPropListGroupColor/GetPropListGroupTextColor:
customizes property list appearance
- Added ability to reduce the library size: if you don't use some library
modules such as planner or tasks pane, just uncomment a specific "#define
BCGP_EXCLUDE_****" in BCGCBPro.h and rebuild the library.
|
|
Fixes: |
- CBCGPButton is drawing correctly now multi-line text labels.
- CBCGPButton correctly handles double click on checked buttons.
- Docking prediction band is drawn correctly when docking tabs are on the
top.
- The new virtual method CBCGPMDIFrameWnd::CreateNewWindow is called by the
framework during restoring of MDI Tabs/MDI Tabbed Groups state. This method
should be overridden in a derived frame class in order to handle restored
state of windows created using "Window | New Window" command.
- CBCGPDockingControlBar::SetMinSize is correctly handled when a docking bar
resides in a container. Now the size of a docking bar can't be set smaller
than defined by stretching containers.
- MDI Tabbed Groups icons do not disappear when moving document tabs from
one group to another.
- Size of wrapped floating toolbars is correctly restored.
- The tab window correctly processes custom tooltips after the tab order has
been changed.
- Fixed problem with URL editing in CBCGPDBGridCtrl-derived classes.
- The layout of toolbar menu button with a default command is calculated
correctly.
- CBCGPToolBoxButton is not longer derived from CBCGPButton: this change
dramatically improves toolbox performance if a toolbox has a lo of buttons.
- The color picker is working correctly when the color dialog has been
invoked from the color popup.
- Fixed problem with appearance of "Help" button in customization dialog.
- CBCGPPopupDlg::HasFocus returns the correct value when application is
minimized or non-active
- Fixed problem with displaying localized strings in UNICODE environment
(date/time picker, calendar control)
- Fixed some problems with gradient fill of control bars in the
multi-monitor environment
- CBCGPVisualManager2003 correctly prepares Office
2003 colors in Windows XP Silver theme
- "Reset" button in the Outlook bar (in Office 2003 mode) properties dialog
does not clear the page list when the program has been loaded for the first
time.
- BCGPOleAcc.dll can be unregistered and the exposed COM object supports
versioning.
- CBCGPGridCtrl::RemoveRow deletes a row and all its sub-items properly. It
correctly works in grouping and sorting modes.
- Fixed bugs with drag-and-drop of grid header items.
- Grid item text alignment in columns works properly.
- Fixed grid item flickering on mouse click before in-place edit.
- Proper grid in-place editor adjustment in AdjustInPlaceEditRect.
- Fixed the bug with dragging of grid header items with icons.
- Fixed the bug with a tooltip over the grid field chooser.
- The grid field chooser displays the correct system menu.
- The grid in-place editor correctly processes the standard keyboard
accelerators such as Ctrl+X, Ctrl+C, and Ctrl+V.
- The Grid Control scrollbars have the correct layout.
- Fixed a bug in the CBCGPGridCtrl::ExpandAll methods.
- CBCGPEditCtrl: deleting by words with “Ctrl” key pressed.
- CBCGPEditCtrl: fixed a bug with the last character in the file. Fixed
highlighting and cursor positioning.
- CBCGPEditCtrl: fixed a bug with caret positioning after Undo / Redo
operations.
- Fixed a bug with opening an empty text file in CBCGPEditCtrl::OpenFile.
- Added the wait cursor for long-time operations in CBCGPEditCtrl.
|
|
Version 8.0. Released 09/23/2005 |
|
New features |
|
New! Planner (Calendar)
control (see
screenshot):
The calendar control has everything you need to include in your application a
sophisticated scheduling and appointment tool. It has the following base
features and each feature can be customized to suit your needs:
-
Five different views: daily, 5-days work
week, weekly, monthly
-
Appointment and scheduling
-
Appointment reminders
-
Recurring appointments
-
Concurrent appointments
-
Events
-
Integrations with the date picker control.
You can select a range of days and show them on the daily,
weekly or monthly view.
-
Copy/Paste operations
-
Full Drag&Drop support (you can drag
appointments within a day or drop them on the date picker
control).
-
Printing support
The following new classes were added:
-
CBCGPPlannerManagerCtrl:
implements calendar interface. Allows to add/update/remove
appointments and show them in the various views such as
daily view or weekly view.
-
CBCGPPlannerManagerView:
CView-derived class with embedded
CBCGPPlannerManagerCtrl. Simplifies calendar usage in MFC
document-view architecture.
-
CBCGPAppointment:
basic appointment class. This object stores start/finish
time, description and other base properties.
-
CBCGPAppointmentBaseStorage: class is an abstract class,
which defines a set of generic operations that must be
implemented in order to store or load appointments to/from
any persistent storage, like binary file or database.
Currently the library provides you with
CBCGPAppointmentStorage class which implements memory
storage.
-
CBCGPRecurrenceBaseRule
is the base class that defines interface that should be
implemented by custom rules. The library provides some
recurrence rules such as CBCGPRecurrenceRuleDaily,
CBCGPRecurrenceRuleWeekly, CBCGPRecurrenceRuleMonthly,
CBCGPRecurrenceRuleYearly
Please take a look at the new example
BCGPCalendarDemo to see this control in action.
New! Grid
Control (see
screenshot):
The grid control provides you with the following features:
-
Unlimited number of columns and rows
suitable for visual representation of any two dimensional
table
-
Support for all standard data types
(VARIANT)
-
Built-in data base support. The simple and
flexible API allows to show a table using few lines of code
and a developer is not required to have any special
knowledge in Data Base programming. The grid has the
following support for data-sources:
Also, a developer can easily add support
for own data source.
-
Support for custom data types. You can
derive a class from the base "grid item" and provide custom
editing and rendering of custom items.
-
Ability to change the item type on the fly
-
In-place editing
-
Sorting by single column
-
Sorting by multiple columns
-
Ability to organize grid columns: you can
show, hide columns and change columns order. The simple MS
Office-like Fields Chooser is provided out of the box.
-
Ability to change sorting type and sort
columns at runtime
-
Auto grouping feature. When this option is
enabled, the grid control automatically creates collapsible
items by the "key" column.
-
Single and multiple row selection.
-
Copy/Paste operations
-
Integration with MFC document/view
architecture.
-
Support for Drag&Drop
-
Support for printing and print preview
The following new classes were added:
- CBCGPGridCtrl: implements base grid interface
- CBCGPGridRow: grid control row
- CBCGPGridItem: grid control item. Allows to display/edit several
types of data such as number, string memo and other.
- CBCGPGridColorItem, CBCGPGridDateTimeItem,
CBCGPGridCheckItem, CBCGPGridURLItem: out of the box grid items,
that implement color picker, date/time picker, check item and hyperlink
controls.
- CBCGPGridView: the CView-derived class with embedded CBCGPGridCtrl.
Simplifies grid usage in MFC document-view architecture.
- CBCGPDBGridCtrl: the base abstract class that defines the interface
for easy integration of the grid control with different data sources. The
library implements three specific classes for working with ODBC, ADO and DAO
data providers - CBCGPODBCGridCtrl,
CBCGPDAOGridCtrl , CBCGPADOGridCtrl. If you need to integrate the
grid control with a custom data source, just derive your class from
CBCGPDBGridCtrl and implement the required methods.
Please take a look at the new examples
GridCtrlDemo and BCGPDBGridDemo to see this
control in action.
New! Report
Control (see
screenshot):
The report control allows you to create complex reports in Microsoft® Office
Outlook style. This control has the following features:
-
Unlimited number of columns
-
Single and multiple column sorting
-
Ability to "flag" a record.
-
Auto grouping (like grouping "by
conversation")
-
Nested grouping
-
Single and multiple row selection
-
Copy to Clipboard
-
Support for Drag&Drop
-
Printing support
The following new classes were added:
- CBCGPReportCtrl: extends the functionality of the grid control and
provides you with the easy way to create reports in Microsoft® Outlook
style. The report control uses custom row and item objects to achieve this
goal.
- CBCGPReportView: CView-derived class with embedded CBCGPGridCtrl.
Simplifies grid usage in MFC document-view architecture.
Please take a look at the new example
ReportDemo to see this control in action.
New! Popup
(Desktop Alert) Control (see
screenshot):
Microsoft® Office-style popup control allows to display short-time messages. In
opposite to the standard message box, this window doesn't require from the user
to close it by clicking "Ok" button and it automatically disappears after short
time. The control is fully customizable and a developer can tune its look and
functionality by the easy way:
- Content can be created from an user-defined dialog
resources or it can be automatically generated from given
text and icon.
- Various looks: Office 200/XP/2003, MSN Messenger and
more.
- Various animation types: fade, slide and unfold.
- Semi-transparent background.
- Custom events.
The following new classes were added:
- CBCGPPopupWindow: implements the functionality of a modeless dialog
which appears on the screen to inform the user about some event.
- CBCGPPopupDlg: the base class for an user-defined dialog, that can
be placed on the popup window.
Please take a look at the new example
PopupDemo to see this control in action.
New! Calendar
(Date Picker) Control (see
screenshot):
The date picker control was totally redesigned and now it has the same look as
Microsoft® Office 2003 date picker. Also, the following new features have been
added:
- Show multiple months
- Integration with the new Planner control (drag-n-drop
appointments, show days with appointments with the bold font,
synchronization between Planner and Date Picker)
- Month/year picker
The new class
CBCGPCalendar has been added. The class CBCGPCalendarBar
is kept for the backward compatibility, but we suggest to
use the new class instead.
CBCGPVisualManager has the new virtual method: GetCalendarColors.
Override this method to customize the calendar appearance.
Updated Visual Manager:
CBCGPVisualManager class now supports visualization of new controls. The
following new virtual methods have added:
-
Popup window:
-
Calendar control: GetCalendarColors
-
Day planner:
-
OnFillPlannerCaption
-
OnFillPlanner
-
GetPlannerHourLineColor
-
OnDrawPlannerTimeLine
-
Grid control:
-
OnDrawGridExpandingBox
-
OnFillGridHeaderBackground
-
OnDrawGridHeaderItemBorder
-
GetReportCtrlGroupBackgoundColor
Updated Property List:
- Added ability to mark the modified properties by the bold font: the
following new methods have been added: MarkModifiedProperties,
IsMarkModifiedProperties and ResetOriginalValues.
-
Added support for in-place tooltips. Now, if
there is no enough space to show the property name or value,
the tooltip is displayed in the same place as text, instead
of the position under the mouse cursor. The new method
'AlwaysShowUserToolTip' allows to display the custom tooltip
under the mouse cursor.
- Double click on CBCGPPropList's columns splitter adjusts the left/right
column widths in 50/50 proportion.
Miscellaneous:
- Added Microsoft® Active Accessibility support for CBCGPTasksPane and
CBCGPPropList controls.
- The library is fully 64 bit-compatible now.
- The Resource Smart Update feature supports the context menus now: if the
context menu resource was changes, the library automatically restores the
changes and new items are correctly shown in context menus.
- CBCGPTabWnd has the new visual style: STYLE_3D_ROUNDED_SCROLL. This style
allows to use the new VS 2005-style tabs in MDI Tabs Window.
- DlgBars sample demonstrates now how to embed a CBCGPMenuBar object into a
dialog.
- CBCGPMDIChildWnd has the new virtual function: CanShowOnWindowsList.
Override this method in your CBCGPMDIChildWnd-derived class and return FALSE
if you don't want to see the MDI child window in the list of windows in the
"Windows..." dialog.
- CBCGPEditCtrl has the new virtual method: OnFillOutlineArea. You can
override this method to customize the edit control's appearance.
- CBCGPURLLinkButton has new attributes:
- m_bMultilineText: allows to display a multi-line text in the hyperlink
control
- m_bAlwaysUnderlineText: TRUE if always underline the hyperlink text, FALSE
- underline only when control is highlighted.
- m_bDefaultClickProcess: TRUE - open the default shell command, FALSE -
fire BN_CLICKED message to the parent window.
|
Fixes: |
- The popup menus have the correct location when they're opened from the
floating multi-row menu bar.
- CBCGPEditCtrl control doesn't hang-up when user tries to copy into the
clipboard a large text block. Now, only small text blocks (< 120000 symbols)
will be copied in RTF format, the larger text blocks will be converted to
the text format.
- CBCGPFileDialog correctly processes file filters now.
- Fixed bug with transparency of CBCGPFileDialog controls .
- CBCGPMenuButton opens the popup menu when user presses Enter button.
- CBCGPMaskEdit correctly processes WM_PASTE message.
- The resize operation is canceled when the user hits escape during resizing
of docked control bar.
- Fixed bug with the height of customize menu buttons.
- VK_PAUSE key is correctly displayed now in the keyboard accelerator
strings (e.g., in toolbar tooltips)
- MDI Tabbed Groups: tabs are properly activated when the user closes MDI
children.
- MDI Tab Control correctly shows 32-bit icons of MDI child windows.
- CBCGPOutlookWnd correctly recalculates layout when some outlook pages have
been hidden.
- CBCGPCaptionBar::SetText doesn't make redundant calls to RecalcLayout.
- Fixed resource leak in CBCGPButton::SetImage (HICON hIconCold, BOOL
bAutoDestroy, HICON hIconHot, HICON hIconDisabled, BOOL bAlphaBlend) method.
Now hIconDisabled will be destroyed if bAutoDestroy parameter is TRUE.
- Docking manager correctly handles situations when a docking bar has
enabled alignment different from CBRS_ALIGN_ANY.
- Docking layout is not broken in applications with MTI interface when the
first frame is minimized.
- Print preview mode correctly handled in MTI applications.
- CBCGPEditCtrl changes the caret position only if the control has focus.
-
Fixed problem with location of in-place edit in CBCGPPropList
control: the in-place edit appears on the same place as the original text
disregard the control's font.
- Fixed problem with mouse capturing in CBCGPPropList control: the control
releases the capture upon the first mouse click.
|
|
Version 7.31. Released 06/02/2005 |
|
New features |
- CBCGPTabWnd has the new style: STYLE_3D_ROUNDED. Using this style, you can
implement Visual Studio 2005®-style tabs (see
screenshot).
- Auto-hide buttons have Visual Studio 2005® (Beta 2) look when
CBCGPVisualManagerVS2005 is activated (see
screenshot).
- The library is compatible now with Microsoft® Visual Studio 2005® (Beta
2). Note: this support is available for retail version only, evaluation
version doesn't support VS 2005.
- Added a new example: BCGPMSMoneyDemo. This program demonstrates how to
create cool user interface similar to Microsoft® Money 2005 (see
screenshot).
- TabControl sample has been fully redesigned: this sample demonstrates now
all key features of tab control.
- Added support for custom tooltips in the tab control:
- CBCGPMDITabParams has the new member: m_bTabCustomTooltips (default -
FALSE)
- CBCGPMDIFrameWnd::EnableMDITabs has the new optional parameter: BOOL
bTabCustomTooltips = FALSE
- The new message BCGM_ON_GET_TAB_TOOLTIP was added.
- CBCGPBaseTabWnd has the new method: EnableCustomToolTips
- CBCGPDrawManager::HighlightRect has the new optional parameter 'COLORREF
clrBlend'. Using this parameter you can set the base highlighting color.
- All calls to MessageBox were replaced by AfxMessageBox: this allows to
customize message box processing by overriding CWinApp::DoMessageBox.
- CBCGPTasksPane::AddLabel has the new optional parameter 'BOOL bIsBold =
FALSE'. Setting this parameter to TRUE allows to draw task pane labels using
bold font.
|
|
Fixes: |
- Fixed some problems with Active Accessibility support.
- Fixed problem with first tab activation in CBCGPTabView.
- The context menu appears on correct place in CBCGPShellTree and
CBCGPShellList when the context menu key is pressed.
- Fixed problem with Z-order of buttons in CBCGPPropertySheet.
- Active tab has correct background color when High Contrast mode is on.
- All auto-hide buttons have the same height when some control bars don't
have associated icons.
|
|
Version 7.30. Released 04/07/2005 |
|
New features |
- Added support for Microsoft® Active Accessibility (see
screenshot). To enable this feature, you need to call new method "globalData.EnableAccessibilitySupport
()" and to redistribute BCGPOleAcc.dll (located in 'bin' folder) along with
your application. Please run a new sample program 'ActiveAccessibilityDemo'
to see this feature in action.
- All built-in images, such as image editor buttons, print preview toolbar
and others, have now a new, fresh look (see
screenshot). If your application is running in 16 bpp or higher
display mode, high-color images will be displayed by default. If you wish to
keep old, 16 color images, you need to set the new flag
'globalData.m_bUseBuiltIn32BitIcons' to FALSE.
- The library is compatible now with Microsoft® Visual Studio 2005® (Beta
1). Added support for VS 2005 to Application Wizard (see
screenshot), Integration Wizard and Build Wizard. Note: this
support is available for retail version only, evaluation version doesn't
support VS 2005.
- Added export to RTF in CBCGPEditCtrl: use the new method 'CBCGPEditCtrl::ExportToRTF'
to export editor data as RTF.
- Added support for gradient markers in CBCGPEditCtrl (see
screenshot). The following new methods were added in order to
enable this feature: CBCGPEditCtrl::EnableGradientMarkers and
CBCGPEditCtrl::IsGradientMarkersEnabled.
- Added the new library-defined message BCGM_ON_PRESS_CLOSE_BUTTON. It will
be sent to parent frame when user presses the close button located on
caption of mini frame window or docking bar window.
- Significantly improved performance of toolbar and menu images drawing.
- Toolbar images now loaded much more faster.
- CBCGPPropList::AddProperty has a new, optional parameter 'BOOL
bAdjustLayout = TRUE'. Setting this parameter to FALSE allows to prevent
recalculating of property list layout every time when a new item is added.
To adjust the items layout at the end, you need to call
CBCGPPropList::AdjustLayout (this method is public now).
- CBCGPToolbarComboBoxButton has a new virtual method: CreateEdit. By
overriding this method, you can use your own edit controls inside
CBCGPToolbarComboBoxButton.
- CBCGPImageEditDlg color picker has "Other..." button when 16 bpp or higher
image is loaded.
- CBCGPPopupMenu has a new static method: static void SetSendMenuSelectMsg (BOOL
bSet = TRUE): if bSet is TRUE, top level frame will receive WM_MENUSELECT
message when user selects a menu item.
|
|
Fixes: |
- Fixed problems with appearance of High Contrast mode. All elements are
displayed correctly when the High Contrast mode is on.
- Fixed possible memory leak in CBCGPAnimCtrl::SetBitmap
- Large icons are displayed correctly now in CBCGPOutlookWnd toolbar.
- CBCGPWorkspace::ReloadWindowPlacement doesn't show main application window
if application runs with /Embedding or /Automation flags.
- CBCGPHeaderCtrl draws items correctly after the order of items has been
changed.
- Fixed bug in CBCGPDateTimeProp::SetDate (see
bug report).
- CBCGPDurationCtrl correctly processes WM_GETFONT and WM_SETFONT messages
now.
- Fixed problem with 24-bit bitmaps transparency in CBCGPToolBoxPage and
CBCGPButton controls.
- CBCGPButton text is drawn correctly when control has style 'WS_EX_LAYOUTRTL'.
- Print preview mode correctly works in applications compiled with MFC 7.0
or higher.
- Solved a problem with scroll bar that became non-responsive if a floating
docking bar with embedded list control was slightly dragged by mouse left.
- Disable default command processing in CBCGPHotSpotImageCtrl
- CBCGPMainClientAreaWnd::UpdateTabs doesn't cause unnecessary redraws of
main frames.
- CBCGPMainClientAreaWnd::SerializeTabGroup doesn't crash when user-defined
object is not NULL.
- CBCGPMainClientAreaWnd::SerializeOpenChildren saves and restores child MDI
windows in correct order.
- Fixed problem with repositioning of days in CBCGPCalendarBar in some
system locales.
- CBCGPToolbarSpinEditBoxButton hides spin buttons when control became
invisible.
- CBCGPEditCtrl: fixed bug in UNICODE applications: saving file with ANSI
encoding works properly now.
- CBCGPEditCtrl: fixed bug in Windows XP®: smooth edge of screen fonts,
ClearType method (Display Properties -> Appearance -> Effects)
- CBCGPEditCtrl: fixed bug with symbol support in UNICODE programs. "Smile"
symbols work properly in UNICODE now.
- CBCGPEditCtrl: fixed bug with EnableOutlining and SetLineNumbersMargin.
Enabling / disabling outlining now works properly. Enabling / disabling Line
numbers feature now works properly.
|
|
Version 7.20. Released 02/09/2005 |
|
New features |
- Added support for MDI Tab Groups (see
screenshot). CBCGPMDIFrameWnd has a lot of new methods that allow
you to incorporate this feature into your application: EnableMDITabbedGroups,
MDITabMoveToNextGroup, MDITabNewGroup, GetMDITabGroups and
OnShowMDITabContextMenu.
- Added support for persistent MDI state: now you can reload all MDI child
documents with their window positions, sizes and Z-index at the application
startup. To enable this feature, you need to use the following new methods
of CBCGPMDIFrameWnd class: LoadMDIState, SaveMDIState and
CreateDocumentWindow.
- New class CBCGPMDITabParams allows you to customize the appearance and
behavior of MDI tabs.
- CBCGPMDIChildWnd::GetDocumentName allows you to specify any document
identifier along with any additional user-defined data in order to properly
load document state.
- CBCGPWinXPVisualManager draws caption buttons using Windows XP themes.
- A new sample program "OutlookMultiViews" was added. This sample
illustrates how to switch between multiple views of a single document in an
SDI application.
- CBCGPButton and outlook bar controls support now 32-bit images in Windows
XP/2000/98 (see
screenshot).
- CBCGPButton has a new member: m_bTopImage. By setting this member to TRUE
a developer can place button's image under the text label.
- Added ability to limit the tab size: CBCGPTabWnd has 2 new methods -
SetTabMaxWidth and GetTabMaxWidth. It's useful for tabs with long names.
- CBCGPToolbarCustomize has a new virtual method 'OnAssignKey' that allows
to enable/disable an assignment of a specific key.
- CBCGPPropList::HitTest has a new, optional parameter 'BOOL bPropsOnly =
FALSE'. By setting this parameter to TRUE a developer can check for a
property area only.
- CBCGPToolBar::m_dblLargeImageRatio allows to define custom size of large
toolbar images.
- BOOL CBCGPWorkspace::ReloadWindowPlacement (CFrameWnd* pFrame) allows to
load and set at runtime previously saved in the registry frame window
placement (position, size and show state).
- CBCGPToolBarImages has a new method: ExtractIcon (int nIndex).
- CBCGPDropDownToolbarButton has a new static member: m_uiShowBarDelay.
- CBCGPMDIFrameWnd::m_bDisableSetRedraw can be set to FALSE in order to
prevent flickering of MDI Tabs.
- CBCGPWorkspace::UseWorkspaceManager has a new, optional parameter 'bResourceSmartUpdate
= FALSE'.
- CBCGPMiniFrameWnd::AdjustBarFrames sends the WM_NCCALCSIZE message
to all control bars that belong to a miniframe window.
- Added SetTabSize and GetTabSize methods in the CBCGPEditCtrl class.
- CBCGPTasksPane::GroupCaptionHitTest method is virtual now.
|
|
Fixes: |
- CBCGPBaseTabbedBar::AddTab properly checks for a window whose recent
docked state should be saved.
- CBCGPTabbedControlBar::OnCreate - tabs of any tabbed control bar will be
activated also by right mouse click by default.
- CBCGPColorDialog::OnColorSelect and
CBCGPContextMenuManager::TrackPopupMenu are using current thread to pump
idle messages (in the previous versions these methods were using current
application object, which caused possible incorrect behavior in
multi-threaded applications).
- CBCGPPropList doesn't perform mouse wheel scrolling when no vertical
scroll bar is available.
- Fixed problem with displaying 32-bit toolbar images in the "Large Icons"
mode.
- The menu separators are correctly drawn in multi-column menus when Office
XP manager is activated (see
bug report)
- CBCGPContextMenuManager::TrackPopupMenu correctly processes WM_QUIT
message now.
- Fixed problem with dialog keyboard shortcuts in CBCGPEditListBox class.
- BCGM_CHANGING_ACTIVE_TAB message is correctly fired in case of MDI tabs.
- The color box in CBCGPColorMenuButton has a correct size when the large
icons mode is activated.
- Context menu is handled correctly when shown as a result of right click on
a caption button (on the docking bar or floating frame).
- Docking toolbars at outside edge of the application window doesn't leave
junk painting on the desktop.
- Added WM_SIZE handler to update content on resizing in the CBCGPCalculator
class.
- Added method CBCGPBaseIntelliSenseLB::DeleteItem to prevent memory leak
after removing items from a list box (CListBox::DeleteString and
CListBox::ResetContent).
- Fixed bug with a tab size in CBCGPEditCtrl control: now, the tab size in a
very large strings is calculated properly.
- Fixed bug with window activation after drag-and-drop operation in
CBCGPEditCtrl::OnDrop.
- Fixed bug in CBCGPTasksPane::EnableNavigationToolbar: task pane navigation
toolbar always has small icons, even in toolbar large icons mode.
- Minor changes in CBCGPMiniFrameWnd::OnNcPaint: the miniframe does not
reserve space for the hidden caption buttons now.
|
|
Version 7.10. Released 10/28/2004 |
|
New features |
- Added a new class 'CBCGPToolBoxEx' which allows to create
Microsoft® Visual Studio.NET® 2005 ("Whidbey")-style toolboxes (see
screenshot).
- CBCGPMDIChildWnd has a new virtual method BOOL IsReadOnly (). This method
should return FALSE in order to prevent document saving from the
"Windows..." dialog.
- Added a new sample program "MDITabsDemo". This sample illustrates how to
use MDI tabs and modify tab appearance on the fly (see
screenshot).
- CBCGPBaseTabWnd has a new method: ClearImageList ().
- CBCGPVisualManager has two new methods: OnEraseToolBoxButton and
OnDrawToolBoxButtonBorder. Using these methods you can customize toolbox
button appearance.
- A new static member 'm_b3DTabsXPTheme' was added to
CBCGPWinXPVisualManager class. Setting this member to TRUE allows to draw
3-D tabs using Windows® XP themes.
- Significantly improved CBCGPWinXPVisualManager drawing methods.
- CBCGPMenuBar has a new method: SetMenuButtonRTC. Using this method you can
replace standard popup menu items by CBCGPToolbarMenuButton-derived
objects.
- CBCGPDockManager has a new method: ReplaceControlBar.
- ExpandLine and GoToLine methods were added to CBCGPEditCtrl.
- CBCGPTasksPane processes now OnOk and OnCancel embedded control handlers.
- Added horizontal scrolling to windows list in CBCGPWindowsManagerDlg.
|
|
Fixes: |
- Fixed a critical bug with the version number saved in registry. This bug
caused incorrect toolbar buttons and menu items loading from the registry.
- Fixed a problem with flickering in the print preview view.
- Fixed some problems with smart docking.
- CBCGPImageEditDlg correctly processes transparent color now.
- Disabled MDI child animation when maximized (a window doesn't have
WS_SYSMENU flag) window is being activated.
- Fixed some problems in CBCGPTabWnd internal layout and drawing. In the
previous versions, tabs weren't correctly reposed in case of wide borders.
- CBCGPTabWnd's document menu correctly processes file names with ampersands
now and doesn't display them with underlined characters.
- CBCGPMenuBar doesn't show system menu when an MDI child
window has no 'WS_SYSMENU' style.
- CBCGPToolbarComboBoxButton is correctly displayed when
a toolbar is docked vertically and large icons are enabled.
- Smart docking markers are correctly highlighted when a docking control bar
can't be docked at all edges of parent frame.
- Docking control bars do not stay opened after switch to autohide mode.
- Dialog bars display the popup menu with control bar states when the
relevant caption button is pressed.
- Fixed bug with undo actions in the editor (see
bug report).
- Fixed ReplaceText bug in the editor (see
bug report).
- Fixed HitTest bug with large outline blocks in the editor (see
bug report).
|
|
Version 7.0. Released 10/1/2004 |
|
New features |
General:
- Implemented a new visual manager "CBCGPVisualManagerVS2005" which
allows to create applications with Microsoft® Visual Studio.NET® 2005
("Whidbey") look (see
screenshot).
- Implemented a new docking style - "smart docking". It's similar to docking
interface found in Microsoft® Visual Studio.NET 2005® ("Whidbey") (see
screenshot). Now user can see where the dragged window can be
docked. Just call CBCGPDockManager::SetDockStyle (DT_SMART) to enable
this feature. You can also customize "smart docking" markers by changing
their colors and shapes (see
screenshot). See this feature in action in BCGCBDotNetExample and
SmartDockingDemo demonstration programs.
- Added a new advanced control - CBCGPAppBarWnd (see
screenshot). This control behaves as a window which can be docked
to any side of the screen and lays outside of application area. See the new
SideBarDemo sample program.
- Added full support for right-to-left layout. You can just create the main
frame window with WS_EX_LAYOUTRTL style and the rest will be automatically
handled by the library. This feature is illustrated by the newly added
RTLSample sample application.
- A new static method CBCGPDockManager::EnableDockBarMenu allows to enable
or disable additional context menu related to control bar states. This menu
consists of four items: Floating, Docking, Auto Hide and Hide (see
screenshot).
Tab control:
- CBCGPTabWnd has a new method EnableTabDocumentsMenu which replaces scroll
buttons with a popup menus displaying a list of opened documents (see
screenshot).
- CBCGPTabWnd has a new style - STYLE_3D_VS2005. Tabbed windows created with
this style look similar to MDI tab window in Microsoft® Visual Studio.NET®
2005 development environment (see
screenshot).
- Visual managers have an ability to override default border size of tabbed
control bars using new methods GetMDITabsBordersSize and
GetDockingTabsBordersSize.
Toolbars and menus:
- Toolbars with 32-bit images can be displayed now on all Windows platforms
where the alpha blending feature is supported (such as Windows® 98 or ME).
- Added support for color transformation to CBCGPToolBarImages class: a new
method AddaptColors allows to change image tone color at runtime (see
screenshot). Take a look at ColorThemeToolbar, a new sample
program illustrating this feature in action.
- Recalculating of toolbar layout is much more efficient now.
- The framework can gray disabled images automatically. Use a new method
CBCGPToolBar::AutoGrayInactiveImages in order to enable this feature.
- CBCGPToolBar class has a new method "CleanUpLockedImages", that allows to
clean image list(s) in locked (non-customizable) toolbar.
- CBCGPToolBarImages::AddIcon has a new optional parameter "bAlphaBlend",
that allows to add 32-bit icons.
- Added access methods to collections of images residing in CBCGPToolBar.
- CBCGPToolBar::IsVisible is marked as "const" now.
- Significantly improved menu drawing performance.
Edit control:
- Automatic width adjustment for the outline margin. New virtual
CBCGPEditCtrl::OnUpdateLineNumbersMarginWidth function was added.
- Typing performance was improved when auto-outlining is on.
- Added new wrapper functions for line operations in edit control
(GetLineCount, GetLine, GetFirstVisibleLine, LineIndex, LineFromChar,
LineLength, LineScroll).
- Added new functions for selection operations in edit control (GetSelText,
ReplaceSel).
- CBCGPEditCtrl::UpdateScrollBars method is virtual now.
- Added new virtual functions for printing by pages:
CBCGPEditCtrl::OnPrintPageHeader, CBCGPEditCtrl::OnPrintPageFooter.
- Added new virtual function CBCGPEditCtrl::OnDrawBorder. Override it if you
need custom drawing of the edit control.
- Added handler for the WM_GETTEXTLENGTH message. See the
CBCGPEditCtrl::OnGetTextLength function.
Task pane:
- Option for embedded user window to be full-size in the task pane group.
Call CBCGPTasksPane::EnableOffsetCustomControls() to enable this.
- Class CBCGPTaskPaneMiniFrameWnd is exportable now.
Miscellaneous:
- CBCGPColorDialog has a new button - color picker. It allows to pick a
color anywhere on the screen.
- It's possible to redefine text color of auto-hide buttons by overriding
GetAutoHideButtonTextColor in CBCGPVisualManager-derived class.
- A new method CBCGPDockManager::DisableRestoreDockState allows to disable
automatic restoring of docking state.
- CBCGPProp class has two new methods intended for manipulation with
options: GetOptionCount and GetOption.
- A new method CBCGPCalendarBar::EnableShowTooltips allows to enable or
disable tooltips on calendar bar.
- A new message BCGPM_ON_AFTER_SHELL_COMMAND is fired by shell manager when
a shell command has been executed.
- CBCGPHotSpotImageCtrl has a new method "SetHighlightHotArea". Using this
method, developer can enable "hot spot" effect without adding a "hot image"
to the control. See CStartView in BCGCBDotNetExample.
- CBCGPToolbarComboBoxButton has a new method FindItem.
- CBCGPAutoHideButton has a new method "GetAlignment".
- CBCGPVisualManager2003 has a new virtual method GetBaseThemeColor, that
allows to modify Office 2003-like appearance.
- CBCGPButton automatically detects Windows XP theme manifest in resources
and set m_bWinXPTheme flag.
- When CBCGPVisualManager is changed, all toolbars will be automatically
adjusted.
- CBCGPPropList::EnsureVisible has a new optional parameter
'bExpandParents'. Setting this parameter to TRUE allows to display collapsed
properties.
|
|
Fixes: |
- The library correctly processes Alt+numeric keys. (see
bug
report).
- Fixed problem with line number drawing in CBCGPEditCtrl. In the previous
versions, drawing the dotted line between row numbers and text caused
incorrect control painting under Windows 9x (see
bug
report).
- Fixed bug in the edit control: "Paste" instead of "Replace" in Undo action
list.
- Fixed bug in CBCGPEditCtrl::GetLineCount function.
- Fixed bug with border drawing in CBCGPEditCtrl.
- Fixed bug in CBCGPEditCtrl::OnGetText function.
- Fixed bug in CBCGPEditCtrl with m_bIsModified flag after "Remove
Selection" command.
- CBCGPToolBarImages. Fixed algorithm that displays disabled images on
systems with 16 bit colors.
- State is correctly saved for control bars in auto-hide mode.
- CBCGPDockManager::SetDockState correctly restores state for tabbed bars
calling on CBCGPBaseTabbedBar::ApplyRestoredTabInfo, instead of
CBCGPBaseTabWnd::ApplyRestoredTabInfo. This allows to override
ApplyRestoredTabInfo in a derived class and prevent reading tab info from
the registry.
- A caption button is not highlighted when a popup menu is displayed and the
mouse hovers over the caption button.
- Tabs are not swapped when user activates a context menu in the tab area
and then tries to activate another tab.
- CBCGPBaseTabWnd::SetTabHicon automatically adjusts the default tab height
now.
- CBCGPBaseTabWnd::SetTabsHeight calculates the tab height correctly now
when no tab icons is available.
- CBCGPPropList::HitTest tests for description area.
- Improved appearance of disabled toolbar combo boxes in several visual
managers.
- Fixed resource leak in CBCGPPropertySheet::InternalAddPage method (see
bug
report)
- CBCGPEdit "Browse" button is correctly repainted in all visual managers.
- User cannot drag out menu items from toolbar customization menu when Alt
key is held down.
- Fixed problem with a large menu scrolling after user displayed all menu
items (recently used menus feature is on).
- Changing control bar icon at runtime affects tabbed control bar tab image.
- CBCGPToolBar::SetMenuSizes changes disabled menu images size.
- CBCGPAutoHideToolBar repaints its background using default control bar
methods.
- All floating frames are disabled now in customization mode.
|
|
Version 6.75. Released 06/25/2004 |
|
New features: |
- Added support for seconds in CBCGPDurationCtrl: to enable the "seconds"
field, just use a new flag DRTN_SECONDS. In addition, there are some new
control methods: SetTextColor, GetTextColor, SetBackgroundColor and
GetBackgroundColor. You can use these methods to change the control
appearance.
- Significantly improved performance of CBCGPEditCtrl scrolling .
- There are some new CBCGPTasksPane methods:
- SetGroupTextColor: sets foreground color for a group caption.
- SetTaskTextColor: sets foreground color for a task
- EnableHistoryMenuButtons: Specifies whether "Next"/"Previous" navigation
buttons should have drop-down menus with page history
- EnableWrapTasks: enables/disables word wrapping for task names
- EnableWrapLabels: enables/disables word wrapping for task labels
Please take a look at a new
sample program "TasksPane"
to see these new features in
action.
- CBCGPDockingControlBar has a new virtual method: OnAfterDockFromMiniFrame.
- CBCGPToolbarButton::PrepareDrag method is virtual now.
- BCGPControls example demonstrates how to create custom CBCGPPropList
properties (see
screenshot) such as duration, check box, password, slider, icon
list, extended combobox, owner-draw description and property with 2 buttons.
- CBCGPToolbarCustomize has a new flag: BCGCUSTOMIZE_NO_LARGE_ICONS.
Setting this flag prevents setting large toolbar icons.
- CBCGPVisualManager2003 allows now to create a color theme using either
Windows XP or "classic" Windows system colors. There are 2 new methods:
SetDefaultWinXPColors and IsDefaultWinXPColorsEnabled. E.g., if you're using
Windows XP blue theme, the toolbar color will be light blue if
DefaultWinXPColors = TRUE (default) or light gray if DefaultWinXPColors =
FALSE. See this feature in BCGDotNetExample sample program.
- CBCGPProp::AddOption has a new, optional parameter 'bInsertUnique'. By
setting this parameter to TRUE, you can prevent addition of duplicate items
to the option list.
- There are some new virtual methods in CBCGPProp class:
- OnDrawDescription: allows customization of property description
appearance.
- OnClickValue: processes mouse clicks inside the value area.
- AdjustButtonRect: defines a custom property button size.
- New virtual method CBCGPPropList::CompareProps can be used for custom
sorting of the property list.
- Improved appearance of CBCGPToolBoxPage in CBCGPVisualManager2003.
- A new sample program 'SetBarSize' demonstrates how to programmatically
change control bar size.
- There is a new method in CBCGPFrameImpl: SetNewUserToolBarRTC. Using this
method, you can specify your own toolbar class, that will be used for
creation of user-defined toolbars.
|
|
Fixes: |
- HTML help is working correctly now in the menu context-sensitive help
mode.
- State is saved correctly for tabbed toolbars.
- Layout of docked toolbars is properly adjusted is some cases when a
toolbar is being shown.
- CBCGPBaseTabWnd::RemoveAllTabs is safely removes all tabs in correct
order: in the previous versions, the tab count wasn't updated during
removing process.
- A tab being dragged does not "stuck" if the dragging process has been
interrupted (see
bug report)
- Fixed problem with updating of menu shadow in toolbar customization menu.
- CBCGPBaseControlBar does not assert anymore in some cases when a control
bar is a member of a tabbed group and is being detached from this group.
- Fixed problem with restored size of application frame when the program was
closed in maximized state.
- Fixed resource leak in CBCGPStatusBar::SetPaneAnimation.
- CBCGPStatusBar supports tooltips by default now.
- The status bar message is updated correctly now when mouse leaves a
disabled toolbar button.
- The correct help topic appears when user clicks on a menu bar system
button (such as "Minimize" or "Close") in the context-sensitive help mode.
- "Toolbar Reset" message box is modal now (see
bug report).
- CBCGPToolbarComboBoxButton::SelectItem allows to remove current selection
(the index value (-1) is valid now).
- Fixed problem with appearance of active mini-frame buttons in some "light"
visual schemes (such as WinXP Silver).
- CBCGPEditCtrl has a correct inactive selection background color (in some
visual schemes this color was present as black).
- CBCGPToolBarImages correctly loads user-defined (from external file)
32-bit bitmaps.
- CBCGPPropList::RemoveAll cleans-up a terminal properties list.
- Fixed problem with appearance of some CBCGPVisualManager2003 elements when
3-d party visual managers are activated in the system (see
bug
report).
- BCGM_CHANGE_ACTIVE_TAB message will be sent to the right parent frame when
user activates outlook bar page from invisible page menu.
- Integration Wizard correctly integrates the library with VS.NET
environment in case when VC++ 6.0 is not installed.
- Fixed problem with buttons location in
CBCGPOutlookBarToolBar::AdjustLocations. Now the behavior of toolbar within
outlook bar is more compatible with MS Outlook 2003. If you begin decrease
the width of outlook bar, buttons is being hidden from right to left as
expected.
- Fixed bug in CBCGPToolbarComboBoxButton::AddSortedItem.
- CBCGPToolBar::AdjustSize. Fixed bug in tabbed toolbar mode. Tab area in
this mode correctly displays toolbar now.
- CBCGPEditCtrl::IsModified is working properly now after Undo/Redo
operations.
- Fixed bug with outlining in CBCGPEditCtrl: sometimes, hidden line count
led to incorrect scrolling.
- Insertion of separators is disabled for outlook bar pane: it caused crash
in outlook control in customization mode.
|
|
Version 6.74. Released 04/15/2004 |
|
New features: |
- Added support for WM_SETIMAGE/WM_GETIMAGE messages to CBCGPButton class.
- There are 2 new virtual methods in: CBCGP***FrameWnd classes:
OnCloseDockingBar - called when the user clicks "close" button and a docking
bar is about to be hidden, and OnCloseMiniFrame - called when the user
clicks "close" button and a floating miniframe window is about to be hidden.
- Controls redrawing mechanism has been significantly improved: all controls
are repainted now much more smoothly.
- CBCGPPropList processes now the standard keyboard accelerators such as
Ctrl+C or Ctrl+V. Developer can customize this processing by overriding a
new virtual method "ProcessClipboardAccelerators".
- CBCGPFontComboBox has a new static member: m_bDrawUsingFont. If developer
set this member to TRUE, all non-symbol font names will be displayed using
current font (see WordPad example).
- CBCGPStatusBar class has a new method: GetCount - returns number of status
bar panes.
- The library source code is compatible now with 64-bit Windows mode.
- Application Wizard for Visual C++ 6.0 automatically adds Windows XP
manifest file to a project.
- Added support for control vertical center alignment to
CBCGPToolbarComboBoxButton class. To set/get this property, use the two new
static methods defined in CBCGPToolbarComboBoxButton: SetCenterVert /
IsCenterVert.
- New virtual function CBCGPTasksPane::GetMRUFileName was added. Now you can
customize MRU file names in task pane.
|
|
Fixes: |
- CBCGPHeaderCtrl correctly processes WM_SETFONT message.
- The hidden separator index is calculated correctly now in toolbar's
customization button.
- User-defined toolbars are not duplicated now when the application exits
from the full-screen mode.
- Fixed visual bug in CBCGPVisualManager::OnDrawTab. The 3D tab edges are
painted correctly now in all visual managers.
- CBCGPKeyboardManager::TranslateCharToUpper treats correctly now OS
language-specific characters.
- CBCGPEditListEdit::OnBrowse restores focus to the edit list box window
after the user has clicked "Browse" button.
- WM_MOUSEWHEEL message is correctly processed now in CBCGPComboEdit class.
- Fixed bug with adjustment of toolbar size when the "Large Buttons" mode
has changed.
- CBCGPTabWnd correctly erases window background when there are no visible
tabs in control.
- Recent docking position is stored correctly now when FloatControlBar is
called from the user code (a control bar is floated programmatically).
- Tabs in a tabbed window are changed during drag & drop operations.
- The BCGM_CHANGE_ACTIVE_TAB message is sent to the top level frame and to
the parent of tab control (in previous versions this message was sent to the
parent of tab control only).
- Fixed bug in CBCGPEditCtrl find routine. Now the editor successfully finds
the word even if the caret is inside it.
|
|
Version 6.73. Released 03/11/2004 |
|
New features: |
- Added a new, fresh look to the tab control in the Office 2003 manager (see
screenshot). To enable this feature, just call the new static
method CBCGPTabbedControlBar::EnableTabAutoColor. In addition, you can
define your own color set by calling
CBCGPTabbedControlBar::SetTabAutoColors.
- CBCGPCalculator can display user-defined buttons now (see BCGPControls
example). The following new methods have been added to CBCGPCalculator
class: SetAdditionalCommands, RemoveAdditionalCommands and a virtual
method OnUserCommand. Also, CBCGPEdit::EnableCalculatorButton has a new,
optional parameter: plstAdditionalCommands.
- There is a new virtual method in CBCGPVisualManager class: OnFillTab. By
overriding this method, you can customize tab appearance.
- A new static method CBCGPKeyboardManager::ShowAllAccelerators allows to
show all keyboard accelerators in a menu item/tooltip. E.g., if command
"Copy" has 2 accelerators: "Ctrl+C" and "Ctrl+Ins", the following text will
appear: "Ctrl+C; Ctrl+Ins".
- New function CBCGPTasksPane::Update () can be used to update task
pane. (It recalculates task pane layout and updates its content).
|
|
Fixes: |
- Adjusted size of some VS.NET-style controls such as auto-hide buttons and
captions.
- Fixed problems with large system font: some controls were incorrectly
displayed when the large system font is chosen.
- Fixed bug with the menu palette mode: the last selected item doesn't
appear now in the first palette position.
- Improved "colored" shadow appearance (used in Office 2003 manager).
- Fixed bug in CBCGPToolbarFontCombo::SetFont. When bExact parameters was
TRUE, fonts with the same prefix weren't processed correctly.
- The popup menu size is correctly adjusted now after the "Button
Appearance" dialog has been closed.
- When the user shows/hides toolbar buttons from the customization menu, the
parent rebar doesn't change its size now.
- Fixed bug with a month name position in the calendar bar.
- Fixed bugs in CBCGPTasksPane::RemovePage and
CBCGPTasksPane::RemoveAllPages. These functions now do not delete tasks from
the first page and properly update the panes history.
- CBCGPEditCtrl::OnDrawOutlineBar - some performance improvement for huge
files.
- Floating tabbed control bar correctly restores its docking state after
application reloading.
- Fixed a small bug with 3D tab appearance in Office 2003 mode.
-
Fixed a bug with rebar mode in Application Wizard. In the
previous versions, AppWizard was generating source code with incorrect
docking layout and invisible docking bars in rebar mode.
|
|
Version 6.72. Released 02/18/2004 |
|
New features: |
- A new class CBCGPCalculator was added. This is a simple calculator (see
screenshot), that can be used as a regular or popup control
integrated with toolbars or property list control.
- CBCGPToolbarEditBoxButton has a new method: EnableCalculator. Using it,
developer can simply integrate a calculator with toolbar's edit control.
- Added support for MS Office-like help combobox (see
screenshot). There are two new methods in CBCGPMenuBar class:
EnableHelpCombobox and GetHelpCombobox. Please take a look at the WordPad
example to see how to use this feature.
- Added support for hyperlinks in CBCGPEditCtrl class (see
screenshot). Developer can specify hyperlink settings in XML
file.
- CBCGPEditCtrl class has a new method "ExportToHTML", that allows to export
editor data to HTML format (our
feature tour
examples were generated using this method). A new virtual method
CBCGPEditCtrl::OnPrepareHTMLString allows to customize the generated HTML.
- New options for CBCGPOutlineParser class: new m_bCaseSensitive and
m_bWholeWords members were added. Now, developer can specify the words such
as "begin" or "end" as outline block tokens.
- A new class CBCGPEdit was added. This is a standard edit control with a
browse button (see
screenshot). The following modes are supported: browse for file,
folder picker, calculator and user-defined mode.
- Added support for values list in the property list (see
screenshot). Using this feature, user can enter multi values such
as size or rectangle. CBCGPProp constructor has a new, optional parameter
'BOOL bIsValueList = FALSE'. A list separator (default is ",") can be
defined by calling a new method CBCGPPropList::SetListDelimiter
- Added support for color in CBCGPFontProp class: CBCGPFontProp constructor
has a new, optional parameter 'COLORREF color = (COLORREF)-1' and the
CBCGPFontProp::GetColor method was added.
- CBCGPPropList colors are customizable now: SetCustomColors and
GetCustomColors methods were added. Please take a look at BCGPControls
example to see how to customize the control appearance.
- A new method CBCGPPropList::ExpandAll allows to expand/collapse all
property list items at once.
- A new method 'GetAutomaticColor' was added to CBCGPColorButton and
CBCGPColorMenuButton classes.
- CBCGPStatusBar class has a new method: SetPaneBackgroundColor.
- A new class CBCGPSpinButtonCtrl was added. This class is used by several
library controls such as property list, date/time picker and toolbar edit
box, and allows to improve spin control appearance making it more close to
other library widgets.
- The following new methods were added to CBCGPPropertySheet class:
RemoveCategory and OnRemoveTreePage. These methods are relevant for the
property sheet tree mode.
- A new optional parameter 'BOOL bRedraw = TRUE' was added to the following
CBCGTasksPane methods: ShowTask, ShowTaskByCmdId and RemoveTask. Using this
parameter allows to optimize tasks pane redrawing when updating a dynamic
content.
- CBCGPTasksPane::ReposTasks method is virtual now.
- CBCGPDateTimeCtrl has a new methods: SetBackgroundColor/GetBackgroundColor
- The following new virtual methods were added to CBCGPVisualManager class:
- OnDrawCalculatorButton and OnDrawCalculatorDisplay: allow to customize
calculator appearance
- OnDrawBrowseButton: allows to customize appearance of edit box browse
button
- OnDrawSpinButtons: allows to customize spin button appearance
- Added ability to define disabled image alpha value (32 bit images only).
CBCGPToolBarImages::SetDisabledImageAlpha method was added.
- New method CBCGPEditCtrol::EnableOutlineParser allows to temporary disable
the outline parser while a new document is loading.
- Methods CBCGPEditCtrl::UpdateOffsetRelatedData,
CBCGPEditCtrl::RemoveOffsetDataInRange, CBCGPEditCtrl::UpdateLineRelatedData
and CBCGPEditCtrl::RemoveLineDataInRange are virtual now.
- Added a new method to CBCGPEditCtrl class: SetMaxToolTipWidth.
- There is a new virtual method in CBCGPToolbar class: BOOL
AllowAltCustomization. By overriding this method developer can disable
"alternative" (Alt + mouse drag) customization for specific toolbar-derived
objects.
- According to our customers requests, we added 4 new sample programs:
- StatusBarDemo: demonstrates usage of CBCGPStatusBar class.
- TabbedToolbar: demonstrates how to create application with a tabbed
toolbar.
- ToolbarDateTimePicker: demonstrates how how use date/time picker
integrated with toolbar control.
- ToolbarEditBox: demonstrates how use edit box control integrated with
toolbar control.
|
|
Fixes: |
- Fixed bug with control bar dragging between two desktops in the
multi-monitor environment. In the previous versions, sometime the control
bars "stuck" on the right desktop and it was impossible to drag it back to
the left.
- Added processing of WM_SYSCOLORCHANGE message to CBCGPBaseIntelliSenseLB
window.
- Added processing for OnUpdateEditPaste in CBCGPEditView class.
- Fixed improper redrawing of outlook bar when a detachable page was
hidden/shown using ShowControlBar method.
- Increased size of outlook bar scroll buttons: this change improved
appearance of the button in some Windows XP themes.
- Fixed incorrect appearance of customize menu when a menu command was
selected from the chevron button of partially visible toolbar.
- A separator's height is calculated correctly now when CBCGPTasksPane
doesn't have icons.
- CBCGPTasksPane's caption is updated correctly now.
- Fixed bug in initial activation of CBCGPPropertySheet tab: when the
default tab differs from 0, the tab is correctly activated in OneNote mode.
- The layout of MDIChild window is calculated correctly when it has several
docking control bars.
- Fixed problem with msimg32.dll loading under Window 95/NT 4 platforms.
- Fixed problem with alpha channels pre-multiplication in 32 bit bitmaps.
- When a control bar is floated or docked by mouse, it correctly receives
the input focus.
-
Improved performance during restoring of docking layout.
- Tab window tabs are activated upon left mouse down now in OneNote mode.
- Fixed incorrect behavior of roll-up frames.
- Fixed resource leak in CBCGPOutlookBarPane::AddButton (LPCTSTR
szBmpFileName,....) method.
- CBCGPOutlineNode class has the BCGCBPRODLLEXPORT modifier now.
- Fixed problem with CBCGPEditCtrl scrollbar: typing text caused the hidden
block to expand.
- Fixed bug with CBCGPEditCtrl outlining: typing string constants stopped
the outlining.
- Fixed problem with CBCGPEditCtrl outlining when it has more then 3
hierarchy levels.
- Fixed problem with CBCGPEditCtrl deleting the whole content of the editor
by Backspace key.
- Fixed the problem in CBCGPEditCtrl: no outlining for just opened files.
- CBCGPEditCtrl: Fixed the problem with outlining, crash
on CollapseToDefinitions command.
- CBCGPEditCtrl: Fixed editor crash in the Overwrite mode when typing inside
the outline brackets.
- Fixed editor problem in read-only mode: CBCGPEditCtrl::IsCutEnabled,
CBCGPEditCtrl::IsPasteEnabled work properly now. Added the update command
message handler CBCGPEditView::OnUpdateEditPaste for the ID_EDIT_PASTE
message.
- Fixed bug in CBCGPEditCtrl::AddOutlining.
- CBCGPEditCtrl::OnSetCaret is called now when only the position of caret
has changed.
- Alternative customization (Alt + mouse drag) is disabled in the popup
menus when Ctrl key is held down.
- CBCGPDateTimeCtrl's drop-down button isn't covered by text when the
control is too narrow.
- Fixed bug with redrawing of floating mini-frame border when detaching a
tab.
- Fixed some warnings in compilation under Visual Studio.NET.
|
|
Version 6.71.
Released 12/10/2003 |
|
New features: |
- CBCGPOutlookBar has a new mode - Outlook 2003-like style (see
screenshot). To enable this mode, developer need to call
CBCGPOutlookBar::SetMode2003 method.
- Added support for 32-bit toolbar images. Using this feature, you can add
nice looking semi-transparent images to your application. Please note, that
you need to check your system by calling
CBCGPToolBarImages::Is32BitTransparencySupported () method.
- A new method CBCGPOutlookBar::SetButtonsFont was added.
- The default tab order is saved now in the tabbed bars:
CBCGPBaseTabbedBar::GetDefaultTabsOrder was added.
- CBCGPEditCtrl has a new flag: m_bSaveFileInUnicode.
- CBCGPEditCtrl::Print was added. Using this method, you can print edit
control content without using Doc/View architecture.
- There are two new methods in CBCGPToolBarImages class: AddIcon and
CreateFromImageList. Using these methods, developer can compose
CBCGPToolBarImages from icons and image lists.
- Added support for the property list group collapse/expand using
VK_RIGHT/VK_LEFT keys. Thanks to Emmanuil Tsagarakis for this addition!
- CBCGPToolBar has a new static method: GetMenuImages. Using it,
developer can access the shared menu images list.
- All built-in animations such as menu, task pane or auto-hide are disabled
now when application is started in the Terminal Services Environment.
- CBCGPBaseTabWnd class has the following new methods: GetTabID, GetTabByID,
SetTabsOrder and virtual method OnChangeTabs.
- Added library-defined mask character "*" for any printable character in
CBCGPMaskEdit.
- New data member CBCGPEditCtrl::m_bSaveFileInUnicode was added.
- New data members CBCGPEditView::m_bUpdateFindString was added. New
method CBCGPEditView::OnPrepareFindString was added. These additions allow
to exclude non-printable characters from the search condition when the
string is copied from the edit control to the "Find/Replace" dialogs.
|
|
Fixes: |
- Invisible locked toolbar buttons are not disabled on the chevron popup
menu now.
- Fixed problem with calculation of CBCGPCalendarBar size.
- CBCGPColorButton is correctly displayed when CBCGPButton::EnableWinXPTheme
was called.
- Fixed bug with painting of CBCGPOutlookButton border.
- Fixed some problems with resource allocation under Windows 9x/ME.
-
Fixed problem with appearance of large toolbar images on the
customization dialogs.
- Task pane's separator is painted correctly now when
CBCGPWinXPVisualManager is activated.
- Fixed problem with repainting of spin buttons in the date/time and
duration controls.
- Fixed incorrect state restoring for CBCGPDockingControlBar objects with
the CBRS_BCGP_OUTLOOK_TABS style.
- Fixed incorrect state restoring for CBCGPDockingControlBar objects
when the frame window is maximized.
- Fixed a problem with detachable tabs in tabbed groups when one or more
tabs have been hidden.
- Fixed some problems with a popup menu of toolbar's chevron.
- Fixed some bugs in outline algorithms in the edit control.
- Fixed some problems with toolbar's flat comboboxes.
|
|
Version 6.7.
Released 11/12/2003 |
|
New features: |
- CBCGVisualManager2003 provides a new color scheme that is more close to
the original Office 2003 colors (see
screenshot)
- Major enhancements in the edit control. Added support for collapsible
nodes (outlining) (see
screenshot). The out of the box outline parser recognizes C++
files and can be customized either programmatically or using an external XML
file. Other features include line numbering and find/replace dialog.
- CBCGPVisualManager has the following new methods:
OnFillHeaderCtrlBackground, OnDrawSplitterBorder, OnDrawSplitterBox,
OnFillSplitterBackground, OnFillAutoHideButtonBackground and
OnDrawAutoHideButtonBorder. By overriding these methods developer can
customize header, splitter control and auto-hide button appearance.
- CBCGPVisualManager::EnableToolbarButtonFill allows to enable/disable
filling of background of toolbar buttons for the whole scheme.
- Toolbar's "Customize" button manages all toolbars from current row.
- Added support for full screen mode. There are the following new methods in
CBCGPFrameWnd and CBCGPMDIFrameWnd classes: EnableFullScreenMode,
ShowFullScreen, IsFullScreen and EnableFullScreenMainMenu.
- Added built-in support for ID_EDIT_REPLACE command in CBCGPEditView.
- Added palette mode for popup menus (see
screenshot). To enable this mode, developer have to call
CBCGPToolbarMenuButton::SetMenuPaletteMode. This feature is illustrated by
Wordpad example.
- CBCGPPropList is working now with date/time values: a new class
CBCGPDateTimeProp (derived from CBCGPProp) was added.
- Added support for in-place spin control in the property list: there is a
new method of CBCGPProp: EnableSpinControl.
- Added support for VT_UI2 and VT_UI4 types in CBCGPPropList.
- Added support for the following keystrokes in CBCGPPropList: F4 - start
editing item, Ctrl+Left / Ctrl+Right - move splitter left/right.
- Added a new virtual method 'OnEditToolbarMenuImage' to
CBCGPToolbarCustomize class. By overriding this method, developers can
provide their custom image editor for editing of toolbar/menu images.
- A new class CBCGPSplitterWnd allows to customize splitter's
appearance.
- Added new support for alpha-blending toolbar images. Take a look at the
new example "MMStyleExample" (see
screenshot)
- CBCGPWorkspace class has a new method "GetRegistryBase".
- CBCGPBarContainerManager class has a new method "GetDefaultSlider".
- Added a new static member of CBCGPTabbedControlBar class:
CBCGPTabWnd::Style m_StyleTabWnd. This member allows to define appearance of
a tab control embedded into a tabbed control bar.
- CBCGPToolbarSpinEditBoxButton class has a new access method:
GetSpinControl.
- CBCGPDateTimeCtrl class has the following new methods: SetAutoResize,
GetAutoResize, SetTextColor, GetTextColor and AdjustControl.
- Popup menus accept now Tab and Shift-Tab characters for
navigation between items.
- CBCGPToolbarButton has a new virtual method: OnGlobalFontsChanged. This
function is called when the system font has been changed.
- CBCGPTaskPane has a new method: AddSeparator.
- CBCGPOutlookWnd has a new method: SetPageButtonTextAlign.
- Added support for Visual Studio.NET® MDI tabs activation mode:
CBCGPBaseTabWnd::EnableActivateLastActive method was added.
- CBCGPToolBar has a new virtual method: OnGetCustomToolTipText
- CBCGPToolBar::EnableCustomizeButton has a new optional parameter:
bQuickCustomize = TRUE. Setting this parameter to FALSE disables quick
customization of toolbar buttons.
- CBCGPContextMenuManager has a new method: GetMenuById
- CBCGPColorProp has a new method: SetColumnsNumber.
|
|
Fixes: |
- Fixed incorrect minutes assignment in CBCGPDurationCtrl::SetDuration.
- Fixed incorrect behavior of docking control bars during stretch.
- Fixed bug in CBCGPMaskEdit::CheckChar.
- CBCGPColorMenuButton: fixed problem with a color box size in the large
icons mode.
- CBCGPColorMenuButton: fixed problem with a color box appearance in the
vertical docking mode.
- CBCGToolbarComboBoxButton's font is restored correctly when the system
font has changed.
- Control bar context menu doesn't appear when a control bar is being
tracked.
- Fixed problem with appearance of CBCGPFileDialog's file name in "Windows
2000" mode.
- Information for diabled toolbar buttons is displayed properly on status
bar.
- Improved appearance of selected item in customization dialog.
- CBCGPButton is working correctly with high- and true color bitmaps.
- Fixed a problem when tooltip for a CBCGPButton didn't appear after first
click.
- Fixed a problem with dismissing of popup-menu upon clicking in the
property sheet tabs area.
- CBCGPPropertySheet's page navigation control correctly treats page
activation now: a tab is not activated when page activation is declined.
-
User can't drag a control bar out of screen.
- Buttons of CBCGPCalendarBar are repositioned correctly when a calendar
control is resized.
|
|
Version 6.51.
Released 07/28/2003 |
|
New features: |
- CBCGPPropertyList class has two new features: group name is displayed now
taking the full control width and the window content is being shown when
user drags the column splitter. The following methods have been added to
provide backward compatibility with previous versions: IsGroupNameFullWidth,
SetGroupNameFullWidth, IsShowDragContext and SetShowDragContext.
- CBCGPPropertySheet has a new style: PropSheetLook_OneNoteTabs. Using this
style, developer can replace the standard tab control by the new, cool
control with colored tabs and icons. Take a look at the new sample program
PropSheetDemo to see this feature in action.
- CBCGPButton can be drawn using current Windows XP theme when
CBCGPVisualManager2003 is activated (in the version 6.5, only
CBCGPWinXPVisualManager allowed this feature).
|
|
Fixes: |
- Fixed crash in CBCGPDrawManager::RGBtoHSV: in some Windows color schemes
conversion from RGB to HSV caused divide by zero.
- CBCGPOutlookWnd hides scroll buttons during animation: it makes the
animation more smooth.
- Fixed problems with UNICODE compilation in Visual Studio.NET 2002/2003.
Now wchar_t is treated as a built-in type.
- The task pane is redrawn correctly when it stretched to very small size.
- Fixed bug with animation for the bottom-aligned task groups.
|
|
Version 6.5.
Released 07/21/2003 |
|
New features: |
- A new class CBCGPVisualMananger2003
implements Microsoft® Office 2003 look. (see the
picture).
- Added Office-style toolbar quick customization menu (see the
picture). Also, CBCGPMiniFrameWnd has a quick customization button
on the caption when toolbar's quick customization mode is available for a
toolbar embedded into the frame .
- CBCGPFrameWnd, CBCGPMDIFrameWnd and CBCGPOleIPFrameWnd classes have a new
virtual method: OnShowCustomizePane. You can modify the appearance of quick
customization menu by overriding this method.
- CBCGPTabWnd has a new style: STYLE_3D_ONENOTE. Using this style, you can
create Microsoft® OneNote-style colored tabs with rounded edges: see the
picture.
- CBCGPMDIFrameWnd::EnableMDITabs has a new optional parameter:
CBCGPTabWnd::Style style. You can set this parameter either to
CBCGPTabWnd::STYLE_3D_SCROLLED (default) or CBCGPTabWnd::STYLE_3D_ONENOTE.
- Full integration with Visual Studio.NET 2003®: added support for
Integration Wizard, Build Wizard, Application Wizard and on-line help.
- A new class CBCGPHotSpotImageCtrl
allows creation of images with hot-spot areas. See BCGDotNetExample's start
page.
- Added support for tabs auto-colors. After calling
CBCGPTabWnd::EnableAutoColor all tabs will be displayed with a built-in
colors. The color set can be modified by CBCGPTabWnd::SetAutoColors.
- CBCGPListCtrl class has an ability to change a font for individual cells.
A new virtual method "OnGetCellFont" has been added. Please take a look at
BCGPControls example.
- GLOBAL_DATA class has a new member: m_nMaxToolTipWidth. Using this method
developers can display multi-line tool tips.
- Added a new method 'IsStateExists' to CBCGPWorkspace class. Call this
method to check validity of a specific state.
- CBCGPToolbarDropSource and CBCGPToolbarDropTarget are exported now.
- CBCGPToolbarCustomize constructor has a new flag: BCGCUSTOMIZE_MENUAMPERS.
Use it to leave "&" symbols on the item labels.
- Added a default constructor to the CBCGPPropertySheet class.
- CBCGPToolbarComboBoxButton has new methods: GetEditCtrl - allows creation
of a custom edit control, SetContextMenuID/GetContextMenuID - allows
changing the context menu for default edit control.
- CBCGPToolBar has a new notification message: BCGM_RESETRPROMPT
- CBCGPBaseTabWnd::SetTabIconOnly allows displaying tabs without text label,
with icons only.
- CBCGPVisualManager has new methods: OnDrawTabContent, GetTabFrameColors,
OnEraseTabsFrame, OnDrawMenuArrowOnCustomizeList, OnDrawScrollButtons and
OnDrawShowAllMenuItems.
- Added animation to expanding/collapsing task pane groups. CBCGPTaskPane
has new methods: EnableAnimation and IsAnimationEnabled
- Scroll buttons were added to CBCGPTaskPane. Use a new method
"EnableScrollButtons" to enable/disable them.
- Added Microsoft® Office 2003-style to the task pane:
EnableNavigationToolbar/IsNavigationToolbarEnabled methods were added. Take
a look at the WordPad example to see this feature in action.
|
|
Fixes: |
- Fixed some visual bugs with the drop-down menu shadow.
- CBCGPEditCtrl vertical scroll bar is updated correctly in WM_SETTEXT
message.
- CBCGPStatusBar doesn't show resize bar when the parent frame is maximized.
- CBCGPEditView can be created without document. In the previous versions,
edit view assumed existence of the document every time.
- CBCGPPropertySheet page area is calculated correctly now in non-tabbed
(e.g. tree) modes.
- Fixed several problems with OLE in-place activation.
- All system colors such as COLOR-3DFACE are rendered now from the
GLOBAL_DATA only.
- Outlook bar's scroll buttons are drawn using current (active) Visual
Manager.
- Fixed memory leak in CBCGPToolBar::RemoveButton. The leak occurred
if the last button was separator.
- CBCGPDockingControlBar tool tips are correctly loaded now from the
language-specific DLLs.
- CBCGPPropertyPage doesn't pass focus to the first control when application
is reactivated.
|
|
Version 6.4.
Released 04/28/2003 |
|
New features: |
- The library is certified now for Visual Studio.NET 2003 (integration with
the new environment will be available in the next version).
- Added support for VS.NET-style property dialogs with left-aligned
navigation tree. CBCGPPropertySheet has 2 new methods enabling this feature:
- AddTreeCategory
- AddPageToTree
See BCGCBDotNetExample "Tools | Options" dialog.
- CBCGTaskPane control can be floating.
- Added support for multiple pages in CBCGPTaskPane control. See
Wordpad example for details.
- CBCGPTaskPane contains several new methods for page/group/task/page
manipulation.
- Added "symbol" support to CBCGPEditCtrl. Now you can define a set of
characters to be automatically replaced with images. See
a new example ChatEditor.
- Added a new set of date-time controls:
- CBCGPCalendarBar (calendar control)
- CBCGPDateTimeCtrl (date-time picker)
- CBCGPDurationCtrl (duration control)
See BCGPControls example for more info.
- Implemented alpha blending support for toolbar images. Using this feature,
you can create high-quality toolbar images adapted to the system colors. You
can enable or disable this feature by setting
CBCGPToolbarImages::m_bDisableTrueColorAlpha to TRUE or FALSE. The default
value is FALSE for backward compatibility. Take a look at BCGPIEDemo example
to see this feature in action.
- CBCGPDrawManager class has a new method: GrayRect.
- Added right-alignment support for popup menus.
- Masked edit control supports ES_UPPERCASE and ES_LOWERCASE styles. Now it
converts lowercase letters into uppercase and vice versa, as the standard
edit control does.
- A new class CBCGPToolbarSpinEditBoxButton allows creation of toolbar edit
box buttons with the spin button control.
- CBCGPPropList's expanding boxes are drawn using new CBCGPVisualManager's
method 'OnDrawExpandingBox'.
- Added a new "auto hide all" feature. Now if you have several docked
control bars in a container and press the pin button while holding Ctrl key,
all control bars residing in this container will be switched to auto hide
mode.
- CBCGPProp has several new methods:
- virtual CWnd* CreateInPlaceEdit (CRect rectEdit, BOOL& bDefaultFormat);
- virtual void OnRClickName (CPoint point)
- virtual void OnRClickValue (CPoint point, BOOL bSelChanged)
- SetName and GetName
- CBCGPVisualManager class has a new virtual method: OnDrawSlider.
Using it, developer can customize control bar slider appearance.
- CBCGPButton::SetImage has a new optional parameter - button's disabled
image.
- CBCGPToolbarButton has a new virtual method: OnBeforeDrop
- CBCGPToolBar has a new virtual method: OnBeforeRemoveButton. By overriding
this method, developer can disable removing a specific buttons from toolbar
in the customization process.
- CBCGPToolBar::NotifyControlCommand allows to change a toolbar control
notification processing.
- CBCGPEditCtrl has a new variable m_nDlgCode. You can manipulate this
variable if you put the edit control on a dialog.
- CBCGPMiniFrameWnd has a new boolean static member m_bUseSaveBits. If you
set this member to TRUE, the miniframe class will be registered with
CS_SAVEBITS style.
|
|
Fixes: |
- The mouse click on popup menu item with sub-items is managed
correctly now. In the previous versions, it caused a new popup menu to be
closed immediately after appearing.
- All instances of CBCGPPopupMenu::m_wndMenuBar were replaced by
CBCGPPopupMenu::GetMenuBar (). This solves problems with implementation of
the user menu popup bar inside standard CBCGPPopupMenu.
- Removed unnecessary assertion in
CBCGPToolbarComboBoxButton::NotifyCommand: in some cases, the regular
toolbar button can be created with the same ID as combo box.
- CBCGPToolbarComboBoxButton::SelectItem always updates the content of edit
control.
- The correct DLL (BCGCBProDLL) is created when _BCGCBPRO_IN_OTHER_DLL
directive is defined.
- The floating toolbar caption is repainted correctly now when user modifies
toolbar name in customization mode.
- CBCGPKeyboardManager::SaveAccelaratorState correctly saves an empty
acceleration table.
- Disabled appearance of non-editable toolbar buttons on the customization
commands list.
- Toolbar image loaded from external resource DLL is re-loaded correctly
when the Windows system colors are changed.
- Fixed a resource leak in the code resetting menus.
- CBCGPSkinManager correctly treats a product name: this allows to avoid
problems with skin DLLs of the same version, but for different
products.
- Fixed problem with CBCGPTabWnd's scroll buttons status: the buttons are
disabled now when no scroll is available.
- Toolbar's "Customize" button is aligned correctly now.
- Fixed problem with CBCGPDropDownToolbarButton's toolbar appearance on the
multi-monitor systems.
- Toolbar is correctly resized after removing button in the customization
mode.
- Toolbars list on the customization dialog is correctly shows toolbar's
visibility state when toolbar is floating. In the previous versions, when
user had hided the floating toolbar, the check box was still checked.
- CBCGPWinXPVisualManager draws correctly the MDI child window's "Restore"
button.
- Selected popup menu item is correctly repainted in the multi-column menu
mode when CBCGPVisualManagerXP is activated.
- CBCGPVisualManagerXP doesn't make toolbar background color too light in
very "light" (luminescence of the system 3d color is greater than 230)
Windows color schemes.
- CBCGPPropList's description area height is not being changed now when
control is resized.
- Solved some redraw problems when MDI tabs are enabled and an MDI window
has been destroyed.
- CBCGPEditCtrl correctly handles UNICODE text for copy/cut/paste
operations.
- CBCGPEditCtrl does not destroy caret in the destructor - it solves some
focus problems.
- Mouse pointer is correctly positioned on a toolbar, when the toolbar has
been floated.
- Toolbar size is adjusted immediately when toolbar buttons have been
deleted during customization.
- Default minimal size of a control bar is set to 1 pixel.
- The size of non-floating dialog bars is not reduced when its parent window
is stretched.
- Docking manager correctly handles rebars.
- Solved some problems with animation in outlook bar.
|
|
Version 6.21
(HotFix). Released 01/09/2003 |
|
New features: |
- Active view can be prevented from losing focus during loading state.
Usually the focus is taken by tabbed bars when a new tab is inserted and
activated. You can set CBCGPTabWnd::m_bEnableActivate to FALSE to keep the
input focus (the default value is TRUE).
- The return value of BCGM_CHANGING_ACTIVE_TAB is not discarded. If a
handler returns TRUE the tab won't be activated. It may be helpful if you
have MDITabs enabled and you want "silently" open new documents.
|
|
Fixes: |
- Control bars correctly rout messages from embedded controls (for example,
if the uses hits "enter" in the edit control inside toolbar combo box
button, the appropriate message will be delivered to the main frame).
- Partially fixed unnecessary resizing of nested docked control bars when
one of the bars is shown/hidden.
- Show/hide of tabbed control bars doesn't break the docking layout.
- Fixed "ghost" application. In some cases a picture of main frame window
remained on the screen after the application has been closed.
- Menu bar is correctly resized in the case when the option "Show window
contents while dragging" is turned off.
- Floating toolbars do not remain visible when the main frame is minimized
and activated.
- Miniframe windows and docking control bars correctly remember "pin state"
(roll up frames).
- The edit control correctly copies text to the Clipboard.
- The control correctly saves files replacing "\n" (the internal
representation of EOL) with "\r\n".
- Fixed some GPF's in the edit control.
- Fixed incorrect syntax highlighting for the last word in the edit control
(if you clear the edit control and just type "int" in C++ file, this keyword
wasn't colored).
|
|
Version 6.2.
Released 12/26/2002 |
|
New features: |
- The CBCGPEditCtrl
class (see the
picture)
implements the functionality
of advanced edit control
with the following special
features:
- IntelliSense support
- Syntax highlighting
support
- Markers support
- Adjustable left-side
area suitable for displaying
visual markers and other
information
- Extended (customizable)
undo/redo support
- Block selection support
(not implemented in v 6.2)
- Tooltip support
- Drag&drop support
- New class
CBCGPTasksPane (see the
picture) implements
the functionality of a list
of clickable items (tasks)
similar to MS Office's Task
Pane and Explorer Bar. With
each item (task) may be
associated a command ID and
this command will be
executed (WM_COMMAND message
is sent to the owner of task
pane control) when the user
clicks the task. It's
possible to assign an icon
to each item (task) and use
static tasks (labels). Take
a look at the Wordpad
example to see the new
features in action.
-
CBCGPShellList::EnumObjects
and
CBCGPShellList::DoDefault
methods are virtual now.
This allows to customize the
shell list appearance.
- CBCGPToolbarCustomize has
a new flag:
BCGCUSTOMIZE_NOTOOLS -
provides an easy way to get
rid of "Tools" customization
page.
- There is a new method in
CBCGPToolbarComboboxButton
class: DeleteItem
- CBCGPBaseTabWnd has 3 new
notification messages:
BCGM_ON_RENAME_TAB,
BCGM_ON_MOVE_TAB and
BCGM_CHANGING_ACTIVE_TAB.
- There are new methods in
CBCGPBaseTabWnd class:
GetLastVisibleTab, SwapTabs,
MoveTab and
AutoDestroyWindow/IsAutoDestroyWindow.
- CBCGPOutlookBar has a new
virtual method 'OnScroll'.
- CBCGPToolBox has the
ability to scroll a page
automatically.
- Added support for
CBCGButton's check/radio
modes: use
CBCGButton::SetCheckedImage,
CBCGButton::SetCheck and
CBCGButton::::GetCheck to
operate with the button's
state. Thanks to Max
Khiszinsky for this feature.
- New class
CBCGPPropertySheet (see
the
picture) extends
the functionality of MFC's
CPropertySheet. It displays
property pages in two
different ways: as a regular
property sheet (with tabs
located on the top) or as
outlook bar control where
each outlook button
corresponds to a property
page. BCGPControls example
illustrates the behavior of
this class.
- New class
CBCGPPropertyPage class
extends MFC's CPropertyPage
class and enables correct
processing of the
library-supplied popup
menus.
- New class CBCGPMaskEdit
extends the functionality of
the Windows edit control.
The masked edit control is
able to validate typed
characters against the
specified mask and display
them according to specified
template. BCGControls
example demonstrates how to
use this control.
- CBCGPPopupMenu::
EnableMenuLogo has a new
additional parameter
'nLogoLocation', which
allows drawing of menu logos
at each side: left, right,
top or bottom.
- CBCGPColorBar margins are
configurable now: use
Set/Get VertMargin and
Set/Get HorzMargin to change
the color bar appearance.
- There is a new helper
method in CBCGPColorBar
class: CreateControl. Using
this method you may create a
color bar as a dialog
control (see BCGControls
example).
- CBCGPWinXPVisualMananger
has a new attribute:
SetOfficeStyleMenus/IsOfficeStyleMenus.
Set this attribute to TRUE
if you wish to enable Office
XP-looking menus in the
Windows XP scheme.
- CBCGPropList class has the
following additions:
-
CBCGPProp is integrated now
with a new masked edit
control (there are new
optional parameters in
CBCGPProp constructor)
-
A new virtual method
'CBCGPProp::OnClickName'
allows processing of mouse
clicks on property names.
-
A new registered message
BCGM_PROPERTY_CHANGED is
sent to the owner of
property list control when
the value of selected
property has changed. In
addition, a new virtual
function 'OnPropertyChanged'
has been added.
-
New methods GetListRect,
GetPropertyColumnWidth,
GetHeaderHeight,
GetRowHeight and
GetLeftColumnWidth allow
easy access to list
attributes.
-
FindItemByData has a new
optional parameter
'bSearchSubItems', that
allows searching data
through the list of
subitems.
-
Built-in header control can
be replaced by user-defined:
a new virtual GetHeaderCtrl
() is available now.
-
BCGControls example
demonstrates how to use
property list on dialog
bars/property pages.
- CBCGPListCtrl's built-in
header control can be
replaced by user-defined: a
new virtual GetHeaderCtrl ()
is available now.
- CBCGPBaseTabbedBar has a
new virtual method
OnActivateTab.
- CBCGPDockingControlBar
allows access to
m_nTimeOutBeforeAutoHide and
m_nSlideSteps static
members. Changing the
default values you can
control animation speed for
autohide bars.
- CBCGPAutoHideToolBar
allows access to
g_nShowAHWndDelay static
member, which controls the
delay between
the moment when the mouse
cursor is placed over an
autohide button and the
moment when an autohide
window begins to slide out.
- CBCGPControlBar has two
new methods:
SetExclusiveRowMode and
GetExclusiveRowMode. When
this mode is turned off for
a menu bar (by default it's
on), it will behave as a
regular toolbar and doesn't
take the full row.
|
|
Fixes: |
- CBCGPDropDownToolbarButton
correctly draws user-defined
images.
- Menu image border is
repainted correctly for
owner-draw menu images.
-
CBCGPToolbarFontSizeCombo::RebuildFontSizes
correctly fills data list
now.
- Some transparent controls
are repainted correctly on
the Windows XP gradient
background.
- Sub-menu now is not closed
when the user double-clicks
on the parent menu item.
- Fixed problem with
highlighted color item
disappearing when
CBCGPWinXpVisusalManager is
active.
- Fixed problem with a menu
resource leak in
CBCGPMenuPage: now an old
menu handle is destroyed
after menu reset operation.
-
CBCGPToolbarMenuButtonsButton
is painted now using Visual
Manager methods.
- Fixed incorrect behavior
of multi-level popup menus
causing assertions in
specific cases.
- CBCGPStatusBar doesn't
reset its font to default
after the system settings
were changed.
-
CBCGPShellList::DisplayFolder
doesn't sort items in
non-report mode.
- Disabled MDI child
animation when maximized
window is being active.
-
CBCGPToolbarComboBoxButton::SelectItem
doesn't cause combobox
flickering now when edit
text is still unchanged.
-
CBCGPBaseToolBar::GetMinSize
correctly returns default
values for horizontal and
vertical control bars.
- Toolbars are not activated
when the user clicks a
button or caption.
- CBCGPBaseTabbedBar
containing non-detachable
tabs is correctly destroyed
when docked to the main
frame.
- Fixed toolbar flickering
when switching to and from
customize mode.
- Fixed flickering in MDI
applications when switching
between MDI child windows in
maximize mode.
- Pre-dock state tabbed
control bars is shown
correctly (no empty tabs).
- SetWindowPos is always
called with SWP_NOACTIVATE
flag.
-
CBCGPGlobalUtils::SetNewParent
correctly handles
reparenting for
floating/docking.
- Toolbars are resized
correctly if the system
option "Show window contents
while dragging" is turned
off.
-
CBCGPMenuBar::GetSystemMenu
returns NULL without
unnecessary assert when
there is no system menu.
- The state is correctly
loaded if MDI child windows
are maximized.
- The size and position of
floating menu bar is
correctly set on the
application startup.
- When a toolbar button
shows the text label and has
been dragged from one
toolbar to another in
customize mode, it will
correctly show the text
label.
- Docking control bar
doesn't display the pin
button when it was created
without CBRS_BCGP_AUTOHIDE
style.
-
When a docking control bar is
tabbed, it can be torn off
only using its tab.
-
The library-based applications
will correctly work as OLE
containers. You'll need to
recompile the library with
_BCGP_USE_OLEIMPL_ symbol
definition and include
MFC\SRC to the list of
include directories.
-
Toolbar combo box button
containing dropdown combo
box displays the selected
item in disabled
state.
|
|
Version 6.1
(HotFix). Released 08/23/2002 |
|
New features: |
- Added support for tabbed
toolbars. See
CBCGPTabbedToolbar class.
- Added property list
control. See CBCGPPropList,
CBCGPProp, CBCGPColorProp,
CBCGPFileProp, CBCGPFontProp
classes. BCGCBDotNetExample
illustrates how to use this
control
- Added Visual Studio-style
toolbox control. See
CBCGPToolBox and
CBCGPToolBoxPage classes.
BCGCBDotNetExample
illustrates how to use this
control.
- Method
CBCGPBaseControlBar::DoesAllowDynInsertBefore
returns FALSE for any
non-floating control bar.
Now, if you want to make a
menu bar non-floating
(statically docked) you
shouldn’t derive a class
from CBCGPMenuBar just to
override this method and
return FALSE (in the
previous version the base
implementation always
returned TRUE).
- CBCGPBaseControlBar has a
new method GetDockRow that
allows easy access to a row
where a toolbar is docked.
It may be useful if you want
to arrange toolbars on a
particular row using
CBCGPDockBarRow::ArrangeControlBars
(int nMargin, int nSpacing).
- CBCGPBaseControlBar has a
new method GetParentTabWnd.
- Implemented a new method
UnDockControlBar that
properly removes a control
bar from a dock bar or
docking manager. You can use
this method when you want to
exclude a particular control
bar from the docking layout
(and/or redock it later at
different place).
- CBCGPToolBar::InsertButton
is a virtual function now.
- CBCGPTabWnd implements
OnDragOver and OnDragEnter
methods.
- CBCGPTabWnd calls
BCGM_ON_MOVE_TAB when the
user has dragged a tab to
another position.
- CBCGPDockManager has a new
method GetControlBarList
returning a list of control
bars that belong to a
docking manager as well as
the list of all floating
control bars.
- CBCGPDockingControlBar has
a new member BOOL
m_bDisableAnimation. You can
use it to enable or disable
animation when docking
controls bars are switched
to/from auto hide mode.
- CBCGPDialogBar::Create has
additional optional
parameters DWORD
dwTabbedStyle and DWORD
dwBCGStyle.
- Added processing of the
standard keyboard
accelerators such as Ctrl+V,
Ctrl+C, Ctl+X, Ctrl+Z, Del
to CBCGPToolbarEditCtrl.
- MDIBars example
illustrates how to use
non-floating resizable and
non-resizable dialog bars on
MDI child frame window.
- CBCGStatusBarPaneInfo is
exported from the library
and defined in
BCGPStatusBar.h.
- CBCGPStatusBar has a new
method GetPaneProgress;
|
|
Fixes: |
- Solved some redraw
problems on toolbar and
rebar controls.
- Rollup window is not
activated when the user is
moving the mouse over the
window and the rollup window
is placed behind another
floating window.
- Rollup window doesn’t grow
every time the application
is restarted.
- Empty miniframe window
does not appear.
- AppWizard for VS.NET
generates bcgprores.h
instead of bcgbarres.h for
static link.
- CBCGPReBar properly
initializes Windows common
controls.
- Keyboard accelerators are
disabled in the Print
Preview mode.
- CBCGPPrintPreviewView
class is exported.
- CBCGPToolbarComboBoxButton
properly receives focus by
shortcut in the flat mode.
- It’s possible to
completely disable SaveState
for control bars. In the
previous version docking
state was saved always
causing crash.
- AppWizards generates
applications with "BCGP
AppWizard-Generated
Applications" entry.
- Non-floating control bars
can’t be floated
accidentally by double
click.
- It’s possible to select
"Visualizations" in
AppWizard for Visual Studio
6.0.
- Corrected problem with
tool tip control and
combo-box control in auto
hide mode.
- Pressing Alt+F4 when a
floating miniframe has focus
correctly closes a miniframe
window.
- Context help is working
properly now.
- All floating miniframe
windows don’t get activated
when one of them has lost
the input focus.
- Dynamically destroyed
control bars that were
contained in a tab window
are properly removed from
the tab window.
- If a group of control bars
is initially set to the auto
hide mode, the application
docking state is restored
properly.
- When a user presses
'Ctrl+Page Down' in a tab
control that has some hidden
tabs, the tab control
doesn’t try to activate the
hidden tabs.
- ON_UPDATE_COMMAND_UI is
properly called for toolbars
placed on a floating docking
control bar.
- Application doesn’t assert
when using popup menu in a
floating miniframe window.
- Non-detachable control
bars forming tabbed window
doesn’t crash the
application on load if they
were set in the auto hide
mode in the previous
session.
- Unicode skins/applications
properly display skin name
and author name.
- Calls on
CBCGPTooBar::AddButton/RemoveButton
properly adjust layout of a
toolbar.
- CBCGPBaseControlBar
properly redirects the
following messages to the
owner: WM_NOTIFY,
WM_COMMAND, WM_DRAWITEM,
WM_MEASUREITEM,
WM_DELETEITEM,
WM_COMPAREITEM,
WM_VKEYTOITEM,
WM_CHARTOITEM.
- Docking state for floating
tabbed control bars is
properly restored.
- CBCGPBaseTabbedBar
properly passes "active" and
"detachable" attributes when
one tabbed window is
attached to another tabbed
window.
- BCGSoundThreadProc is
marked as _cdecl. It allows
compilation of the library
with different from _cdecl
calling conventions.
- BCGPTabWnd::SetActiveTab
(int iTab) sends the
BCGM_CHANGE_ACTIVE_TAB
message to its parent
window.
-
CBCGPBaseTabWnd::OnLButtonDblClk
properly calls
StartRenameTab if in-place
editing is enabled.
- CBCGPControlBar::OnDestroy
() properly removes a
control being destroyed from
tabbed window.
- Window class of
CBCGPStatusBar is registered
with CS_DBLCLKS style.
-
CBCGPDialogBar::OnUpdateCmdUI
calls the base class only.
This ensures proper update
of dialog bar controls.
- CBCGPDialogBar is not
floated when the user clicks
or double clicks outside of
dialog bar controls.
- CBCGPMDIChildWnd allows
docking of non-floating
control bars only. See
MDIBars example for details.
- CBCGPToolbarComboBoxButton
handles CBN_SETFOCUS
notification by passing it
to embedded edit control.
-
CBCGPToolbarComboBoxButton::OnDrawOnCustomizeList
is drawn using the active
visual manager.
- CBCGPOutlookBar::LoadState
and SaveState are marked as
virtual.
-
CBCGPOutlookWnd::OnEraseBkgnd
returns TRUE if the number
of tabs is greater than
zero; otherwise it calls the
base class.
- CBCGHeaderCtrl's image has
correct vertical alignment
(centered).
|