|
Version 20.0. Released 03/11/2013 |
|
New features |
- Touch/Gesture support. We decided to implement extended gestures
support for most of our controls. In addition, we've implemented easy to
use, compact and intuitive Windows Gesture API wrapper, so you can add the
touch support to your application in few lines of code. The following
methods were added to CBCGPWnd and CBCGPBaseVisualObject classes:
- OnGestureEventZoom
- OnGestureEventPan
- OnGestureEventRotate
- OnGestureEventTwoFingerTap
- OnGestureEventPressAndTap
- ResetGestureOptions
- GetGestureConfig
So, using our library, you can make your product fully compatible with
Microsoft Surface and other touch-enabled devices!
- Implemented floating pane Maximize/Restore button (see
screenshot). You can enable this feature by calling a new methods
CBCGPFrameWnd::EnableMaximizeFloatingBars or
CBCGPMDIFrameWnd::EnableMaximizeFloatingBars. Please take a look at
BCGPVisualStudioGUIDemo example to see this feature in action.
- Visualization:
- Implemented Office 2013-style Light Gray (see
screenshot) and Dark Gray themes (see
screenshot). CBCGPVisualManager2013 class has a new enumerator
'Style': Office2013_White, Office2013_Gray and Office2013_DarkGray. You
can modify the current theme by calling a new method
'CBCGPVisualManager2013::SetStyle'.
- CBCGPVisualManagerScenic has a various styles now: default
(OS-depended), Windows 7-like (see
screenshot) and Windo8 8-like (see
screenshot).
- CBCGPVisualManagerVS2012 allows to specify frame/caption bar custom
colors: SetFrameColor, GetFrameColor and GetFrameTextColor method were
added. Please take a look at WinUITilesDemo sample application to see
this new feature in action.
- Improved look of the colored 3D tabs in CBCGPVisualManagerVS2012 and
CBCGPVisualManager2013 (see
screenshot) visual managers.
- Added new navigation buttons for VS 2012 and Office 2013 visual
managers (see
screenshot).
- Implemented themed scrollbars in the following controls:
- CBCGPEditCtrl
- CBCGPHotSpotImageCtrl
- CBCGPTasksPane
- Date/time property grid control has a visual style now.
- Drop-down toolbar border is rendered using currently selected visual
style now (see
screenshot).
- The following new virtual methods were added to CBCGPVisualManager
class:
- OnDrawTabsPointer: render "pointer"-style tab
- GetTabPointerColor
- GetNavButtonsID
- GetNavFrameID
- WinUI Tiles (see
screenshot):
- Implemented custom views associated with a tile/caption button.
Please call a new method CBCGPWinUITile:: SetView to associate the tile
with the custom view. By default, CBCGPVisualContainerCtrl window will
be created, but you can use any CWnd-derived classes as tiles view.
Please take a look at the following WinUITilesDemo tiles:
- Settings (see
screenshot) and About (see
screenshot): illustrates tile-associated view created with help
of Visual Designer.
- Other tiles (see
screenshot):: illustrates dynamically-created tile-associated
view.
- Added keyboard navigation support. A new method CBCGPWinUITiles::
GetCurSel returns a currently selected tile and CBCGPWinUITiles::
SetCurSel allows to change the current selection.
- Implemented Group Captions in the WinUI Tiles control: call new
method CBCGPWinUITiles:: SetGroupName to specify the group name and
other attributes such as text color or interactivity. The new registered
message BCGM_ON_CLICK_WINUI_GROUP_CAPTION allows to catch group name
mouse click event. Please take a look at WinUITilesDemo sample
application to see this new feature in action.
- Added Navigation "Back Button". Call new method "CBCGPWinUITiles::EnableNavigationBackButton"
to enable/disable the button and add new registered message
BCGM_ON_CLICK_WINUI_NAV_BACK_BUTTON handler to catch click button event.
- Added custom caption buttons. AddCaptionButton method was added to
CBCGPWinUITiles class. The new registered message
BCGM_ON_CLICK_WINUI_CAPTION_BUTTON allows to catch caption button mouse
click event.
- Implemented tiles scrollbar custom color theme: CBCGPWinUITiles::
SetScrollBarColorTheme allows to modify scrollbar color theme and
CBCGPWinUITiles:: GetScrollBarColorTheme returns the current theme.
- Added custom badge glyphs support. Please specify/obtain a tile
custom badge index using new CBCGPWinUITile methods SetCustomBadgeIndex/GetCustomBadgeIndex
and set custom image list using CBCGPWinUITiles:: SetCustomBadgeGlyphs
method.
- Chart Control:
- Added chart series shadow effect (see
screenshot). To enable shadow under the chart series, please fill
BCGPChartFormatSeries:: m_shadowType and call CBCGPChartSeries::
SetSeriesFormat method. Please take a look at BCGPChartExample
demonstration program to see this feature in action.
- Implemented Pie and Polar charts interactivity.
- Diagram control:
- A diagram connector has line thickness and line style attributes
now: SetThickness, GetThickness, SetStrokeStyle and GetStrokeStyle
access methods were added to CBCGPDiagramConnector class.
- Added ability to specify a custom text format in Diagram Text
Object: CBCGPDiagramTextDataObject::SetDefaultTextFormat was added.
- Tab Control:
- Implemented Office 2013 Pointer style (see
screenshot). Please use new CBCGPTabWnd style 'STYLE_POINTER' to
activate this new look.
- Implemented animated tab activation (available with STYLE_POINTER
style only). EnableTabAnimation and IsTabAnimationEnabled methods were
added to CBCGPTabWnd class.
- CBCGPMDITabParams has a new member: m_bTabsCaptionFont. Set it to
TRUE if you wish to display tabs with a "caption" (large) font. This
feature may be useful in the touch-aware applications.
- Added custom fonts support.
- Ribbon Bar:
- Added support for a vertically-oriented Ribbon progress bar controls
(see
screenshot). CBCGPRibbonProgressBar class has new access method:
IsVertical. Please take a look at RibbonGadgets sample to see this
feature in action.
- Ribbon Designer allows to specify key tips associated with a Ribbon
Backstage view items.
- Graphics Manager:
- Added 'Underline' and 'Strikethrough' attributes to CBCGPTextFormat
class. Also, we've updated CBCGPTextFormatDlg for changing these
attributes (see
screenshot).
- Implemented luminosity compare in CBCGPColor class: CompareWith
method and '<', '<=', '>', '>=' operators were added.
- Added 'Resize' method to CBCGPImage class.
- CBCGPGraphicsManager:: SetDrawShadowMode specifies the "shadow"
rendering mode. When this mode is on, all graphics manager objects will
be rendered using semi-transparent brush with a specific offset.
- Outlook Bar:
- Improved control appearance in Office 2013 style (see
screenshot).
- Added ability to show/hide a caption area: EnableCaption/HasCaption
methods were added to CBCGPOutlookWnd class.
- Added ability to show/hide a frame: EnableFrame/HasFrame methods
were added to CBCGPOutlookWnd class.
- Dialogs:
- Added ability to drag a dialog box by clicking anywhere inside the
dialog client area. EnableDragClientArea and IsDragClientAreaEnabled
methods were added to CBCGPDialog class. This feature is especially
useful when application is running in the touch-screen environment.
- CBCGPPropertySheet has a new style: PropSheetLook_Pointer (see
screenshot).
- Push Button:
- CBCGPButton has a new method 'SetAutoCheck'. Please call this method
if you need to modify BS_AUTOCHECKBOX, BS_CHECKBOX, BS_RADIOBUTTON or
BS_AUTORADIOBUTTON button style.
- Added a new attribute "DrawText": Call new method
CBCGPButton::SetDrawText(FALSE) if you don't wish to display the text
label (it may be useful in case of MSAA support when button should have
an invisible name).
- Gauges:
- The following new gauge types are introduced in the version:
- Switch control (see
screenshot). "On/Off" gauge - implemented in class
CBCGPSwitchImpl.
- Static Frame (see
screenshot). The simple frame gauge - implemented in class
CBCGPStaticFrameImpl.
- Added new tick mark style 'BCGP_TICKMARK_TRIANGLE_INV' - "inverted"
triangle tick mark (see
screenshot).
- Implemented ability to specify minor tick mark relative position:
SetMinorTickMarkPosition and GetMinorTickMarkPosition methods were added
to CBCGPGaugeImpl class.
- New SetScaleTickMarkOutlineBrush/GetScaleTickMarkOutlineBrush
CBCGPGaugeImpl class methods allow to specify/obtain tick mark outline
brush.
- Added 'DefaultDrawFlags' attribute to CBCGPStaticGaugeImpl class.
- Visual Container:
- Implemented scroll bars custom color theme: new optional parameter
'CBCGPVisualScrollBarColorTheme* pColorTheme = NULL' was added to
CBCGPVisualContainer:: EnableScrollBars method.
- Added copying of the multiple selections (using Ctrl key and mouse
dragging). Use a new flag 'BCGP_CONTAINER_ENABLE_COPY' to activate this
feature in CBCGPVisualContainer.
- Miscellaneous:
- Added user data support in CBCGPGridColumnsInfo class. Please call
SetColumnData/ GetColumnData to set/get the user data associated with
the specific grid column.
- CBCGPStatusBar:: SetPaneAnimation method has a new, optional
parameter 'BOOL bAlphaBlend'. Set this parameter to TRUE if you need to
display 32-bit animation in the status bar pane.
- CBCGPPopupWndParams has a new Boolean variable: m_bOpenURLOnClick
(default value is FALSE). Set this flag to TRUE if you wish to open URL
specified by m_strURL value.
- Added help support to CBCGPMessageBox class: the developer can use
MB_HELP style now to display "Help" button and specify help topic ID in
dwContextHelpId member of BCGP_MSGBOXPARAMS structure.
- CBCGPKeyMapDlg constructor has a new, optional parameter 'BOOL
bShowCommandsWithKeyOnly = FALSE'. Set this parameter to TRUE if you
wish to display only commands associated with keys.
- CBCGPToolTipParams has 2 new members: m_nPaddingX and m_nPaddingY.
You can customize tooltip appearance by modifying these attributes.
- CBCGPMDITabParams has new member 'm_bTabsCaptionFont'. Set it to
TRUE if you wish to display MDI tab labels using "caption" (large) font.
- Changes in examples and samples:
- BCGPCalendarDemo: the calendar bar has a visual manager style now.
- BCGPChartExample: added chart shadows demonstration
- BCGPGaugesDemo:
- New "Switch" view demonstrates usage of the new Switch gauge.
- Added demonstration of the new minor tick marks position and
style.
- "Car Climate Control" view demonstrates how to create how to
implement digital dashboard with the various type of gauges (see
screenshot).
- BCGPVisualStudioGUIDemo demonstrates how to implement floating pane
maximizing (see
screenshot).
- BCGPOutlookDemo: added Office 2013 theme (see
screenshot).
- MDITabsDemo illustrates how to apply new tab features (such as new
styles and fonts) to MDI tabs and MDI tabbed groups.
- PropSheetDemo: UI of this sample has been fully redesigned and has a
new, fresh look now (Windows 8-style - see
screenshot). In addition, this sample demonstrates a new
"PropSheetLook_Pointer" dialog look (see
screenshot) and property sheet embedded into the dialog (see
screenshot).
- RibbonGadgets:
- Demonstrates how to add a vertically-oriented progress bars to
the ribbon panel (see
screenshot).
- Added some new themes (such as VS 2010 and VS 2012) to
illustrate the Ribbon appearance under the various Visual Managers
such as VS 2010/2012 and Carbon.
- TabControl: demonstrates how to create tab with a new 'STYLE_POINTER
' style, animated tab activation and custom font (see
screenshot).
- WinUITilesDemo: demonstrates new WinUI Tiles features such as views
associated with tile, caption buttons and group Captions (see
screenshot).
|
|
Fixes: |
- CBCGPGraphicsManagerD2D: WIC Imaging Factory is
initialized properly now if the latest Windows SDK is
used along with VS 2012 (Windows 7 and Vista only).
- Ribbon Bar: fixed bug with disabled menu button text
color in some visual managers.
- Ribbon Bar: edit control "clear" button (used in the
search mode) is not disabled anymore when project was
built in VS 2010/2012.
- Ribbon Bar: tabs area had an incorrect color under
Office 2010 theme when the application window was
inactive (Windows "Classic" theme).
- Ribbon Bar: fixed problem ribbon sizing frame width
(it was too wide in some systems).
- A skinned check box/radio button doesn't catch
VK_RETURN key now.
- Frame/Dialog windows: fixed bug with recalculating
layout if the window don't have WS_CAPTION style.
- Fixed problem with rendering CBCGPProgressCtrl
created with PBS_VERTICAL style.
- Fixed some RTL drawing issues. The following
controls are rendered correctly now when a window has
WS_EX_LAYOUTRTL style: CBCGPScrollBar, Calendar Bar,
Message Box, Tab Control and others.
- Fixed problem with CBCGPEdit rendering when control
doesn't have WS_BORDER style.
- CBCGPPropertySheet preserves the selected tab/list
item if OnKillActive method of the active page has
returned FALSE.
- Chart Control: fixed bug with positioning of the 3D
sides upon specific series gap values.
- CBCGPRadialMenuObject is correctly rendered now when
display high contrast mode is active.
- CBCGPToolbarDateTimeCtrl class is DPI-aware now.
- Fixed bug with a frame/dialog with owner-draw NC
area activation.
- CBCGPDrawManager::ColorMakeLighter correctly works
now with very dark color (which close to black).
|
|
Version 19.0.
Released 10/04/2012 |
|
New features |
- The product is
fully-compatible
with Visual
Studio 2012 now!
The evaluation
version includes
binary files for VS
2012 and Integration
Wizard properly
integrates the
product with VS 2012
environment. Also,
all our examples,
samples and
AppWizard were
thoroughly tested
with the new Visual
Studio. The product
Help file is
compatible with
Visual Studio 2012
Help System (MS Help
Viewer 2.0) now.
- The product is
fully tested under
Windows 8
release.
- Implemented
Office 2013-style
Visual Manager (see
screenshot).
A new class
CBCGPVisualManager2013
was added to the
library - just set
this manager as
active and your
application will
have a new, fresh
Office 2013-style
look. The key
features of this
style are:
- Flat,
Windows 8-style
UI
- Full-screen
backstage view
with a "back"
circular button
(see
screenshot)
- Large
docking pane and
application
frame captions
- Using accent
color in the
status bar,
application
button,
backstage view
and highlighted
GUI elements.
Please take a
look at
BCGPMSOfficeDemo
example application
to see this feature
in action.
-
CBCGPVisualManager2012
was adapted to
Visual Studio 2012
RTM look (see
screenshot):
- Implemented
owner-draw
captions and
borders
- The status
bar will be
displayed with
the accent
background
color.
- Fixed
auto-hide
buttons look.
- Colors,
brushes and
fonts are the
same as in VS
2012 now.
- According to
Microsoft request,
the name "Metro UI"
is not legal
anymore, so we made
the following
changes in the
product API:
-
BCGM_ON_CLICK_METRO_UI_TILE
->
BCGM_ON_CLICK_WINUI_UI_TILE
-
CBCGPMetroUITile
->
CBCGPWinUITile
-
BCGP_METRO_BADGE_GLYPH
->
BCGP_WINUI_BADGE_GLYPH
-
BCGP_METRO_IMAGE_EFFECT
->
BCGP_WINUI_IMAGE_EFFECT
-
CBCGPMetroUITiles
->
CBCGPWinUITiles
In addition,
MetroUITilesDemo was
renamed to
WinUITilesDemo.
IMPORTANT: if
you're using Metro
UI Tiles component
in your application,
please make all
required renames in
the code.
Other WinUI Tiles
changes:
-
WinUITilesDemo
demonstrates now
how to create
live tiles with
Chart control
and Circular
Gauge (see
screenshot).
- Added
caption support
to
CBCGPWinUITiles
class (see
screenshot).
The following
methods were
added:
-
SetCaption
-
GetCaption
-
SetCaptionForegroundColor
-
GetCaptionForegroundColor
-
OnDrawCaption
Please take a look
at WinUITilesDemo
sample application
to see these
features in action.
- Ribbon Bar:
- Added
Office-2013-like
Ribbon
background image
support (see
screenshot).
The new method
SetBackgroundImage
was added to
CBCGPRibbonBar
class. Please
take a look at
BCGPMSOfficeDemo
example to see
this feature in
action. Please
note that you
can see the
background image
only if
CBCGPVisualManager2013
is active: in
other Visual
Managers this
attribute is
simply ignored.
- Implemented
a new feature -
Ribbon Quick
Steps (see
screenshot).
The following 2
new classes were
added:
CBCGPRibbonQuickStepsButton
-is a Ribbon
Gallery in
"Quick Steps"
mode and
CBCGPRibbonQuickStep
-Quick Steps
Gallery item.
Please take a
look at
RibbonGadgets
sample
("Galleries"
tab) to see this
feature in
action.
- Added User
Tools support to
the Ribbon Bar
(see
screenshot).
The behavior and
usage are very
similar to
toolbar/menu
user tools; to
add user tools
to your
ribbon-based
application, you
need:
-
Initialize
user tools
manager:
EnableUserTools
(ID_TOOLS_ENTRY,
ID_USER_TOOL1,
ID_USER_TOOL10);
- Add
dummy button
with ID =
ID_TOOLS_ENTRY
to the
ribbon
- Add
"Tools" page
to the
customize
sheet:
CBCGPRibbonToolsPage
pageTools(&m_wndRibbonBar);
propSheet.AddPage(&pageTools);
Please take a
look at
RibbonGadgets
sample
("Buttons" tab)
to see this
feature in
action.
-
CBCGPRibbonComboBox:
- Added
sorting
support.
CBCGPRibbonComboBox
has a new
optional
parameter 'sortOrder':
BCGP_RIBBON_COMBO_SORT_ORDER_NO_SORT,
BCGP_RIBBON_COMBO_SORT_ORDER_ASC
or
BCGP_RIBBON_COMBO_SORT_ORDER_DESC.
- Added
calculator
display
format:
EnableCalculator
method has a
new optional
parameter
'lpszDisplayFormat'
- The Ribbon
Designer has the
following
enhancements and
improvements:
- Added
sorting
support for
the combo
boxes.
- "Quick
Steps" item
in the
designer
toolbox: you
can easily
add and
modify your
Quick Steps
gallery
using the
Ribbon
Designer
now.
-
CBCGPRibbonCategory
class has a new
method:
"CBCGPRibbonPanel*
AddPanel (LPCTSTR
lpszPanelName,
const
CBCGPToolBarImages&
icons, int
nIconIndex,
CRuntimeClass*
pRTI = NULL, int
nInsertAt =
-1)". Using this
method instead
of old which
requires HICON
you can reduce
GDI system
resources.
- Added
ability to
access Backstage
View forms.
CBCGPRibbonBackstageViewPanel
has 2 new
methods:
-
GetFormsCount:
returns a
number of
forms
attached to
the
backstage
view.
- GetForm:
returns a
form by
index
- Visual
Designer:
- Added
keyboard
support: the
user is able now
to move/resize
the
gauges/diagram
objects using
arrow keys.
- Status bar
has 2 new panes:
location and
size of the
currently
selected
gauge/diagram
object (see
screenshot).
- Grid Control:
- Implemented
a long-awaited
variable row
height support
(see
screenshot).
The following
methods were
added to grid
classes:
-
CBCGPGridCtrl::
CreateMultiLineRow
create a
multi-line
row with
specified
text lines
numbers.
-
CBCGPGridRow::
SetLinesNumber
allows to
modify row
text lines
number.
-
CBCGPGridRow::
GetLinesNumber
returns the
row text
lines
number.
Please take a
look at
BCGPGridExample
to see this
feature in
action.
- New "Freeze
Groups" feature
allows to
disable
horizontal
scrolling of
groups in the
grid control. A
new method
FreezeGroups was
added to
CBCGPGridCtrl
class.
- Improved
grid elements
margin/padding
calculations:
-
Hierarchy
level offset
is based now
on a new
method
GetHierarchyLevelOffset.
- A grid
element
height is
calculated
now using
the
following
new methods:
GetBaseHeight
and
GetButtonWidth.
- The
following
new methods
for
customization
of the mouse
wheel
scrolling
were added:
SetMouseWheelSmoothScrollLimit
and
GetMouseWheelSmoothScrollLimit
- Chart Control:
- Added chart
thumbnail mode
(see
screenshot).
SetThumbnailMode/IsThumbnailMode
methods were
added to
CBCGPChartVisualObject
class. Please
take a look at
BCGPChartExample
demonstration
program ("Chart
Thumbnails"
view) to see
this feature in
action.
- Added a new
Data Label
content type -
LC_DP_INDEX.
This type is
useful if chart
has a lot of
overlapped wide
labels (such as
in Pie or Funnel
chart types).
Simply specify
the label format
as index and
display
names/values
left of the
index value in
the chart legend
(see
screenshot).
Please take a
look
BCGPChartExample
demonstration
program ("Pie/
Doughnut/Torus"
views) to see
this new feature
in action.
-
CBCGPChartSeries
class has a new
flag 'm_bIncludeInvisibleSeriesToLegend'.
Set it to TRUE
if you wish to
display the
hidden series
entry in the
chart legend.
- Implemented
user-defined
data support in
CBCGPChartSeries:
GetUserData/SetUserData
methods were
added.
- Gauges:
-
CBCGPImageGaugeImpl:
added image
alignment
support.
SetImageAlign,
GetHorizontalAlign
and
GetVerticalAlign
methods were
added to this
class.
-
CBCGPStaticGaugeImpl:
added 'opacity'
attribute. You
can modify the
static gauge
(such as image,
text or color
indicator)
opacity by
calling new
method
SetOpacity or
get it by
calling
GetOpacity.
-
CBCGPStaticGaugeImpl::
added
fill/outline
brush
attributes.
SetFillBrush/GetFillBrush
and
SetOutlineBrush/GetOutlineBrush
methods were
added.
-
CBCGPCircularGaugeImpl
has a new helper
method:
GetSubGaugeByID(UINT
nID).
- Miscellaneous
changes:
-
CBCGPPropertySheet:
implemented tabs
scrolling
support in
PropSheetLook_Tabs
mode:
EnableTabsScrolling/
IsTabsScrollingEnabled
methods were
added.
- CBCGPTabWnd:
implemented
full-size scroll
buttons.
SetScrollButtonFullSize
and
IsScrollButtonFullSize
methods were
added.
-
CBCGPPropList:
added support
for implementing
mouse events in
the property
groups. The
following
virtual methods
were added to
CBCGPProp class:
OnClickGroupArea
and
OnRClickGroupArea
- Added new
global flag
"CBCGPGraphicsManagerD2D::m_bForceSoftwareRendering".
If you set this
member to TRUE
on your
application
startup, the
render targets
will use
software
rendering only.
This may be
helpful if
computer doesn't
have updated
DirectX drivers.
-
CBCGPWorkspace
has new methods
for an instant
reading/writing
double numbers:
GetDouble/
WriteDouble.
- Improved French,
German and Italian
translations.
|
|
Fixes: |
- Fixed bug with layout of BCGControlBar Pro
Application Wizard for Visual Studio 2005/2008/2010/2012
pages when the wizard is used in non-English Visual
Studio versions.
- Resolved flickering upon tab switching in
CBCGPPropertySheet
- Ribbon bar: the Ribbon customization page correctly
shows the hidden categories and allows to show/hide
them.
- Ribbon bar: fixed problems with displaying some
Ribbon popup windows (such as calculator or gallery) in
RTL mode.
- Ribbon bar: a ribbon button placed on the status bar
with a dark background (for example, Office 2010 Black
or Carbon theme), has a correct foreground color now.
- Ribbon bar: fixed bug with scroll bar flickering in
CBCGPRibbonGalleryCtrl window
- Fixed bug with displaying skinned disabled edit
control.
- Resolved problem with drawing some gauges such as
text or digital indicators after container scrolling.
- An active MDI child windows is checked now in Ribbon
MDI children menu.
- Fixed bug with closing active MDI child windows when
Ctrl+F4 is pressed and mouse cursor is located on the
docking pane/floating mini-frame caption button.
- MDI Tab is correctly process Ctrl+Tab / Ctrl + F6 if
the newly activated tab was previously invisible and tab
documents menu is used.
- CBCGPTabbedControlBar: if user detaches a pane from
the tabbed control bar which contains 2 panes only, an
unused tabbed control bar doesn't stay in memory and
tabbed pane properly released now.
- Grid control: if EnableFilterBar method was called
more than once, a memory leak was occurred.
- Grid control: improved mouse wheel scrolling
behavior.
- Grid control: fixed drawing bug of checkbox item in
some visual themes.
- Grid control: fixed drawing bug of expand box in
HDPI mode.
- CBCGPColorDialog: a "pick color" mode is canceled
now when application is being deactivated.
- CBCGPMessageBox: fixed bug with closing message box
when embedded check box is clicked.
- CBCGPVisualManagerCarbon: improved appearance of the
Grid push button and menu caption GUI elements.
- CBCGPVisualManagerCarbon: fixed bug with a drawing
control border.
- Fixed bug with multi-minframe layout: the frame does
not leave an empty space now after user detaches the
second pane and only one embedded pane remains inside
the frame.
- CBCGPFontProp::OnClickButton doesn't fire
OnPropertyChanged method now if user didn't change the
font attributes in CFontDialog.
- Fixed bug with serializing a document-related
CObject returned by overridden
CBCGPMDIChildWnd::GetDocumentName method: in the
previous product version MRU documents state wasn't
correctly loaded if the object wasn't NULL.
- Diagram control: fixed scaling bug.
- Diagram control: fixed bug with a drawing of
multi-point connectors.
- Chart control: CBCGPChartAxis::ValueFromPoint
returns a correct value now when the logarithmic scaling
is used.
- Fixed some problems with drawing frame/dialog
borders in various Visual managers.
|
|
Version 18.0.
Released 06/27/2012 |
|
New features |
- Added support
for Visual Studio
2012 RC. The
product was
thoroughly tested
under this new
environment and all
tests were passed.
- The product is fully
tested on Windows
8 Release Preview.
-
CBCGPVisualManagerVS11
class was
renamed to CBCGPVisualManagerVS2012.
Except rename, we
made the following
changes in this
visual manager:
-
The color scheme
is identical to
Visual Studio
2012 Release
Candidate (see
screenshot).
-
Added support
for the dark
theme in the
editor (see
screenshot)
and other
controls.
You can run
BCGPVisualStudioGUIDemo
and BCGPControls
examples to examine
this look.
- Added a new Metro
style Tiles control
(see
screenshot), which
implements the
following features:
-
Square and wide
tiles.
-
Tile groups.
-
Rectangular or
rounded tile shapes.
-
Horizontal
("Landscape") or
vertical
("Portrait")
layouts.
-
Tile headers and
multi-line
texts.
-
Tile images.
-
Numeric and
iconic badge
support.
-
"Live" tiles
with image
animation
effects.
-
Custom colors
and brushes.
-
Custom tiles.
-
OS-independent:
since our
implementation
just emulates
Windows 8 Metro
style Tiles, you
can use the our
Metro Tiles
control under
all supported
operating
systems!
This control is
fully-customizable,
so you can use it
with your own
images, textured
brushes and custom
shapes (see
screenshot).
The Metro Tiles
control is suitable
for the wide range
of user interfaces
such as application
start page, activity
monitor and many
others.
Please run the
new
MetroUITilesDemo
sample to see
the new control
in action.
-
Ribbon Control
has a
long-awaited
MS Office 2010-like customization (see
screenshot).
Please run
BCGPMSOfficeDemo
example to see this
feature in action.
The Ribbon customization
includes:
- Show/hide all
default Ribbon
tabs and panels.
-
Change Ribbon
tabs and panels
order.
-
Create custom
tabs and panels.
-
Rename tabs,
panels and
commands.
-
Modify custom
command image.
If
you wish to add the
Ribbon Customization
to your application,
please make the
following minor
additions in your
source code:
- Call
m_wndRibbon.EnableCustomization();
(prior call to
m_wndRibbonBar.Create())
- If your QAT
customization dialog
is embedded into the
property sheet
(e.g., "Options"),
you've to add
CBCGPRibbonCustomizeRibbonPage
object to this
property sheet too.
- WPARAM value of
BCGM_ON_RIBBON_CUSTOMIZE
message specifies
now which Ribbon
part will be
customized:
-
0
- Customize QAT.
-
1
- Customize
Ribbon.
- Chart
Control implements
the following new features:
- Added advanced
legend (see
screenshot).
Using this new
component, you
can add the
following chart
legend features:
- Ability to show
legend entries
from multiple
charts.
- Custom entries
support.
- Custom legend
title.
- Custom legend
cell format
(including
colors and text
label formats).
- Custom columns.
- Vertical and
horizontal
layouts.
- Automatic
scrolling.
- Print and print
preview support.
- Mouse events
support allows
to create an
interactive
legend entries
(such as buttons
or checkboxes).
- Ability to show
the legend in
any window such
as Visual
Container,
docking pane or
any others.
- CBCGPChartView
class
integration
(call
EnableAdvancedLegend
method).
Please take a
look at
BCGPChartExample
application ("Chart
Advanced Legend"
view) to learn
how to use this
new component.
In general,
you've to
instantiate CBCGPChartLegendVisualObject
object (if
you're using the
legend inside
CBCGPVisualContainer)
or create CBCGPChartLegendCtrl
window and add
related chart(s)
using CBCGPChartLegendVisualObject::AddRelatedChart
method.
-
Texture-based
custom themes.
Since CBCGPBrush
is working now
with texture
images, you can
easily create
your own,
nice-looking
custom themes!
You can assign
textures to the
chart series,
walls, plot area
and legend.
Please run BCGPChartExample
application,
choose a "Custom
Theme
(Textures)"
in "Theme"
toolbar combo
box and
examine a new
fresh look! The
following
screenshots are
illustrating how
the various
chart type may
look with the
new textured
brushes:
- New method
CBCGPChartCtrl::DoPrint
simplifies
printing support
if the chart is
created inside
dialogs or
forms.
- Added method
CBCGPChartTheme::PrepareWallBrushes.
Call this method
to assign a
single brush for
all 3D chart
wall and floor
objects with
automatic
lighting/shading.
- Grid Control
additions:
- Added active
accessibility
support for the
grid and report
controls.
- New class CBCGPGridCaptionRow
was added for
the grid control
(see
screenshot).
To add the
caption please
call new
CBCGPGridCtrl::AddCaptionRow
method. This
class can be
used to separate
the contents of
the grid. Please
see the usage in
BCGPGridExample
program at "Cell
Types" tab.
- Added
support for the
currency values.
- New options to
customize
inactive
selection color
in the grid. See
new members
m_SelColorsInactive
and
m_GroupSelColorsInactive
in
CBCGPGridColors
class.
- New option
BCGP_GRID_FINDREPLACE_PARAM::bStartWith
extends the
find/replace
mechanism.
- New virtual
method
CBCGPGridRow::CanSelect
allows to skip
some rows while
navigating by
keyboard in the
grid.
- New method
method
CBCGPGridCtrl::SetExportTextSeparator
allows to
customize some
exporting
settings.
- New following
helpers were
added: CBCGPGridCtrl::IsItemInRange,
CBCGPGridCtrl::IndexToOrder,
CBCGPGridCtrl::CreateCaptionRow.
- Graphics Manager:
- Added
textured brushes
support. The
following new
methods were
added to
CBCGPBrush
class:
- New
constructor
CBCGPBrush(const
CBCGPImage&
image, const
CBCGPColor&
clrFillAlt,
BOOL
bIsWaterMarkImage)
-
GetTextureImage
-
HasTextureImage
-
IsWaterMarkImage
-
SetTextureImage
-
ClearTextureImage
- CBCGPColor has
new attributes
IsDark() and
IsLight().
- Added new
drawing methods
to
CBCGPGraphicsManager
class:
DrawCheckBox and
DrawRadioButton.
- Visualization and
Skins:
- Added skins
support to
CBCGPWindowsManagerDlg
(see
screenshot).
- New class CBCGPTreeCtrl
implements a
tree control
with the Visual
Manager support
(see
screenshot).
CBCGPShellTree
class is derived
from
CBCGPTreeCtrl,
so your can
apply the skin
to the shell
tree now.
-
CBCGPVisualManager
has the
following new
methods:
-
IsMinFrameCaptionBold:
returns TRUE if
mini-frame
caption text is
bold
-
OnFillComboBoxItem:
allows to
customize
combobox item
appearance
-
GetListControlFillBrush
and
GetListControlTextColor
-
GetTreeControlFillColor
and
GetTreeControlTextColor
-
GetEditCtrlBackgroundBrush
and
GetEditCtrlTextColor
-
OnFillGridCaptionRow
- Added Visual
Manager support
to
CBCGPBreadcrumb
and
CBCGPListCtrl
classes.
- Miscellaneous
additions:
-
Added active
accessibility
support for the
calendar
control.
-
BCGPDiagramDemo
and
BCGPGaugesDemo
illustrates how
to use texture
brushes in the
diagram and
gauge controls
(see
screenshot).
- CBCGPProgressDlgParams
has a new member
'BOOL
m_bWaitForMessages'.
- New static
member
CBCGPMessageBox::m_bDontUseDefaultIcon
allows
enable/disable a message box
icon.
- CBCGPKeyMapDlg
is working
properly in the
Ribbon-based
application now.
- CBCGPMDIFrameWnd
and
CBCGPFrameWnd
classes have a
new method 'ClosePrintPreview'
which allows to
programmatically
close print
preview view.
- New class CBCGPDiagramView
implements a
view with
embedded diagram
control.
- BCGPGLOBAL_DATA
has a new method
'SetWindowTheme'.
-
CBCGPBrushButton
has a new public
member 'CBCGPEditBrushOptions
m_Options'. You
can customize
CBCGPEditBrushDlg
invoked by the
button
appearance now.
-
CBCGPButton::SetStdImage
has a new
optional
parameter 'CBCGPMenuImages::IMAGE_STATE
stateDisabled'.
-
CBCGPFrameWnd
and
CBCGPMDIFrameWnd
classes have a
new method
EnableFullScreenAutoHideTaskbar
which allows to
show auto-hide
taskbar when the
full-screen mode
is active.
- Added method
'CBCGPBaseControlBar::HideInFullScreenMode'.
Override this
method if you
wish to keep
control bar
visible in the
full-screen
mode.
|
|
Fixes: |
- Chart control: improved 3D charts rendering
performance.
- Chart control: fixed problem with drawing Pyramid
chart when all data points have zero value.
- Chart control: fixed some problems with the
small-sized chart layout calculation.
- Grid control: CBCGPGridCheckItem doesn't change a
value when the space button was pressed in the
read-only mode.
- Grid control: collapse/expand buttons of the groups
are not scrolled in freeze columns mode.
- Grid control: Fixed colors in some visual themes.
- Grid control: fixed scrolling by keyboard.
- Grid control: CBCGPGridCtrl::GetSelectedItems does
not return hidden or filtered items now.
CBCGPGridCtrl::IsItemSelected is fixed.
- Grid control: fixed bug with auto closing the
in-place edit on scrolling. Now the grid auto-saves
changes and closes the in-place editor before scrolling.
- Grid control: CBCGPGridCtrl::EnsureVisible is
working correctly now.
- Header control: fixed some redrawing issues: the
control doesn't call RedrawWindow if the windows is not
created yet.
- CBCGPShellList is working correctly now when control
is created with a style differ from LVS_REPORT.
- CBCGPPropList: fixed bug with dynamic changes of the
commands visibility.
- CBCGPButton::UncheckRadioButtonsInGroup doesn't
check invisible button now.
- Radial menu: fixed icon drawing bug. In some cases
the icon was drawn "blurred".
- CBCGPEdit: appearance of the control in the Visual
Manager mode has been improved.
- CBCGPToolTipCtrl::GetIconSize correctly calculates a
Ribbon custom icon size.
- Fixed some bugs with re-loading recent size and
position of the dialogs and property sheets.
- Resolved some performance issues in MDI tabs and MDI
tabbed groups.
- Fixed bug with nested redrawing in
CBCGPCalendar::RecalcLayout method.
- CBCGPListBox created with LBS_NOSEL style is working
correctly now.
- Fixed bug with the splitter window in full-screen
mode.
- Diagram: fixed bug with connectors positioning when
the diagram scrolling/zooming was performed.
- Help: fixed style problems in help files for Visual
Studio 2005/2008/2010.
|
|
Version 17.1.
Released 04/02/2012 |
|
New features |
- Added support
for Visual Studio
11 Beta.
- Added a new class CBCGPVisualManagerVS11,
which
implements Microsoft Visual Studio 11 Beta look (see
screenshot).
Using this new
theme, you can
upgrade your
application look to
a new Metro-style
UI in one line
of code! As you
probably know,
Visual Studio 11 UI
doesn't have any
color-full GUI
elements, so all
toolbar/menu/docking
pane icons by
default are
converted to
grayscale.
If you wish to keep
your color-full
icons unchanged,
just set
CBCGPVisualManagerVS11::m_bAutoGrayscaleImages
to FALSE. The new
visual manager has 2
color themes:
In addition,
a developer can set
a theme accent
color. By default,
all
highlighted/focused
elements have a blue
color, but you can
change it according
to your preferences
(see
screenshot).
Please run BCGPVisualStudioGUIDemo example to examine this new fresh look!
- The library is
fully tested on
Windows 8
Consumer Preview
operating system.
-
Chart
Control
implements new and
updates existing
features:
-
Missing data
support. Call
CBCGPChartVisualObject::AddChartEmptyData
or
CBCGPChartSeries::AddEmptyDataPoint
to add empty
data points.
Call
CBCGPChartSeires::SetTreatNulls
to tell a series
how to treat
missing data (as
values, skip, or
don't paint).
This feature is
supported for
line, area,
column, bar,
bubble, point,
ternary and
stock charts.
-
Support for
"smart labels"
(see
screenshot).
This feature
intelligently
lays out data
labels
preventing
overlapping.
Call
CBCGPChartVisualObject::EnableSmartLabels
to enable or
disable this
feature (now
it's enabled by
default for
supported chart
types). Call
CBCGPChartVisualObject::SetSmartLabelsParams
to fine tune the
"smart labels"
algorithm. This
feature is
supported for
line, area,
point, bubble
and ternary
charts.
-
Stock chart can
display data as
a line based on
open, high, low,
close or custom
calculated
value. You can call CBCGPChartStockSeries::SetStockSeriesType
with newly added
SST_ types to
set the desired
stock series
type. Call
CBCGPChartStockSeries::SetCustomStockValueCallback
or override
GetCustomStockValue
method in a
derived class to
return custom
calculated stock
values when
you set
SST_LINE_CUSTOM
type.
-
Added a new
method
CBCGPChartAxis::UpdateSplitAxisSizeByPercent
enabling you to
adjust sizes of
split axes
programmatically.
-
Added two new
color themes:
"Black and
Green" (CT_BLACK_AND_GREEN
- see
screenshot)
and "Black and
Blue" (CT_BLACK_AND_BLUE
- see
screenshot).
-
Diagram
Control
implements new and
updates existing
features:
- Added zoom
support for
diagram, all
diagram shapes
and connectors
support
proportional
scaling.
- Improved
features for
runtime editing
of diagram. See
new
DiagramEditor
sample
(see
screenshot).
- Implemented
copy/paste
support for the
diagram editors.
- Added
BCGM_DIAGRAM_POS_SIZE_CHANGED
event.
- Added
support for drag
and drop
connectors and
shapes in edit
mode.
- Added shapes
coloring. The
following new
shapes
properties were
added to
CBCGPDiagramVisualObject
class:
-
GetFillBrush/SetFillBrush
-
GetOutlineBrush/SetOutlineBrush
-
GetShadowBrush/SetShadowBrush
- Added
connectors and
connector arrows
coloring. The
following new
properties were
added to
CBCGPDiagramConnector
class:
-
GetOutlineBrush/SetOutlineBrush
-
GetArrowOutlineBrush/SetArrowOutlineBrush
-
GetArrowFillBrush/SetArrowFillBrush
- Implemented
new shape types:
- Image
item -
CBCGPDiagramImageObject
class
- Table
shape -
CBCGPDiagramTableShape
class.
- A new class
CBCGPDiagramCustomShape
implements
custom shapes
support.
- Helper
diagram's entity
"ConnectionPoints"
was renamed to "ConnectionPorts".
- The method
CBCGPDiagramVisualObject::SetTextValue
was renamed to
CBCGPDiagramVisualObject::SetTextData
for consistence.
You can see the
new features in
action in the
new sample
DiagramEditor
and modified
example
BCGPDiagramDemo.
-
Added a new
TreeMap control
(see
screenshot).
The Treemap is a
space-constrained
visualization of
hierarchical
structures. It shows
attributes of leaf
nodes using size and
colors. Please take
a look at new
TreeMapDemo sample
to see this control
in action.
-
Message Box:
- The look of the
product message
boxes was
significantly
improved: the area
behind buttons is
painted by Visual
Manager using
shading effects (see
screenshot).
If a developer
prefers the old look,
it's possible to set
a new member BCGP_MSGBOXPARAMS::bDrawButtonsBanner
to FALSE. In
addition, we've
improved the
multi-line text
layout for better appearance.
- For your
convenience
displaying of
optional check box
can be done
with a single line
of code: BCGPMessageBox and
BCGPMessageBoxEx
methods have now 2
new optional
parameters:
- LPCTSTR
lpszCheckBoxLabe
// Check box
label (such as
"Don't show this
message again")
- BOOL*
pCheckBoxResult
// IN/OUT: check
box initial
state and result
Please take a
look at
MessageBoxDemo
sample to see these
features in action.
-
Progress Dialog:
- Implemented
"infinite" progress:
if you don't know
how long the process
can take, but wish
to show some
"working indication"
without creating a
custom animation,
just set
CBCGPProgressDlgParams::m_bShowInfiniteProgres
to TRUE (see
screenshot):
- Improved dialog
appearance.
-
Graphics Manager:
- Added
scaling support
for the
following
graphics
classes:
-
CBCGPPoint
-
CBCGPRect
-
CBCGPRoundedRect
-
CBCGPEllipse
-
CBCGPGeometry
-
CBCGPTextFormat
- Implemented
printing
support:
SetPrintInfo/GetPrintInfo
methods were
added.
- Visual
Control and Visual
Container:
- Added scroll
support to visual
container: CBCGPVisualContainer::EnableScrollBars
enables/disables
container scroll
bars. A new
virtual method OnScroll was
added to
CBCGPBaseVisualObject
class.
- Added "click
and hold"
support to
CBCGPBaseVisualCtrl
class. The
following new
methods were
implemented to
support this
feature:
-
GetClickAndHoldID
-
GetClickAndHoldRect
-
StartClickAndHold
-
StopClickAndHold
-
OnClickAndHoldEvent
- Added
printing
support. Just
call
CBCGPBaseVisualCtrl::DoPrint
or
CBCGPBaseVisualCtrl::DoPrint
method to print
your visual
container/control
content.
- Implemented
user data
support in CBCGPBaseVisualObject
class:
GetUserData/SetUserData
methods were
added.
- Improved
multiple-selection
mode in
CBCGPVisualContainer:
-
SelectAll
method was
added.
-
Implemented
2 different
"hit testing
inside
selection"
behaviors:
SetHitTestSelected
and
IsHitTestSelected
methods were
added.
- Added
FireSelectionChangedEvent
virtual
method and
BCGM_CONTAINER_SELCHANGED
registered
message
-
Ribbon Bar
-
Added support
for mini-toolbar
tooltips (see
screenshot).
If a developer
wants to disable
them, it's
possible to set
new BCGPGLOBAL_DATA::m_bShowTooltipsOnRibbonFloaty
member to FALSE.
-
CBCGPRibbonBar
has a new
virtual method 'OnFilterSearchResult'.
If you wish
filter-out
command search
results (don't
display certain
commands),
override
this method and
return FALSE for
specific search
results.
-
CBCGPRibbonMainPanel::EnableCommandSearch
method has new
optional
parameter BOOL
bHideDisabled =
FALSE that
allows to
filter-our
disabled
commands in the
search result
pane.
-
Visual Designer
-
The designer
supports now
both gauges and
diagrams (see
screenshot)
- Implemented
multi-selection
and element
alignment
operations.
- Grid control
- Added
ability to
disable grid
lines in the
grid: new
CBCGPGridCtrl::EnableGridLines
method.
- Added
CBCGPGridCheckItem::SetLabel
method to set
text label for
the grid check
item.
- Calendar
(Planner) control
- Added
ability to
scroll all-day
events in the
calendar header
area.
- Added
multi-line (word
wrapping)
support for the
multi-hour
appointments.
- Miscellaneous
additions
-
CBCGPDrawManager
line, arc and
ellipse drawing
methods have a
new optional
parameter: int
nPenStyle =
PS_SOLID.
- Added
support for
auto-graying
toolbar, menu
and docking pane
images (see
BCGPVisualStudioGUIDemo
example, VS 11
application
look):
-
CBCGPDrawState
has a new
public
member m_bAutoGrayScale
(default is
FALSE)
-
CBCGPDrawState
constructor
has new
optional
parameter
bAutoGrayScale
(default is
FALSE)
-
CBCGPToolBarImages::ConvertToGrayScale()
method was
added
-
CBCGPGlobalUtils::GrayIcon
method was
added
-
CBCGPVisualManager has a new
virtual
method 'IsAutoGrayscaleImages()'
-
CBCGPVisualManager
has the
following new
virtual methods:
-
OnDrawControlBarCaptionText
-
OnFillPropList
-
GetPropListDisabledTextColor
-
OnDrawButtonsArea
-
GetDlgButtonsAreaBrush
-
IsDrawFocusRectOnPushButton
-
CBCGPProgressCtrl
supports
PBS_MARQUEE
style now.
- CBCGPProp
has a custom
float/double
reading formats
now:
CBCGPProp::m_strScanFormatFloat
and
CBCGPProp::m_strScanFormatDouble
static members
were added.
- Added
scaling support
to CBCGPTagCloud
control.
-
CBCGPMDITabParams
has a new
member:
m_bActiveTabBoldFont
- Examples and samples
- BCGPChartExample has the following additions:
- Stock chart ("Stock Charts | Stock")
demonstrates new StockSeriesType types (line
drawn by OHLC and custom values) (see
screenshot).
- Added demonstration of real time stock chart
in virtual mode ("Stock Charts | Stock Real
Time").
- Added "Advanced Features | Smart Data
Labels" view, which illustrates the "smart
labels" feature.
- Added Print/Print preview support to each
view.
- BCGPCalendarDemo demonstrates header (all-day
events) scrolling now.
- Added skins support to BCGPControls example (see
screenshot)
- BCGPDiagramDemo demonstrates diagram Zoom
In/Zoom Out features.
- BCGPMSOfficeDemo demonstrates how to add Grid
and Chart docking panes in the MS Office-style
application (see
screenshot).
- BCGPVisualStudioGUIDemo demonstrates Visual
Studio 11 themes.
- The following new samples were added:
- DiagramEditor demonstrates how to edit the
Diagram Control.
- TreeMapDemo: demonstrates new TreeMap
control.
|
|
Fixes: |
- Chart control: when an axis works in "fixed interval
mode" the interval size is not adjusted anymore to fit
the plot area size. Instead, the last interval can be
truncated and displayed partially.
- Chart control: fixed problem with label interlacing
when axis becomes too small.
- Pie chart correctly displays very small slices.
- Chart control: fixed printing (and scaling) issues
with axes in "fixed interval" mode.
- Chart control: fixed printing issues with legend
size.
- Chart control: split axes (when you split an axis to
two axes using CBCGPChartAxis::Split) take correct size.
- Chart control: fixed labeling and zooming issues
with date-time axes.
- Chart control: fixed layout of radar chart.
- Grid control: fixed bug with alignment of merged
cells.
- Grid control: mouse click was disabled for a grid
check item (CBCGPGridCheckItem) in read-only mode
- Grid control: fixed bug with selection border.
- Property Sheet: fixed bug with redrawing non-client
area when the property sheet is skinned and a developer
changes the currently activated visual manager or DWM
composition is being changed.
- Fixed bug with Ribbon caption font size in
CBCGPVisualManager2007/CBCGPVisualManager2010 visual
managers.
- When application doesn't have an icon and
application caption is custom, the default Windows
application icon is displayed now.
- CBCGPPropList::DeleteProperty corretly resets
selected/tracked property now.
- Property list embedded scroll bar is created with
the corresponding (property list) visual style.
- Property list correctly handles VK_TAB keystroke if
WS_TABSTOP style is applied to the control.
- Fixed scrolling bug in CBCGPPropList::EnsureVisible
- Fixed drawing bug in CBCGPListBox when control has a
horizontal extent.
- CBCGPRibbonBackstagePagePrint scales correctly the
default "Print" image in the high DPI mode.
- Fixed bug with image margins in the high DPI mode in
CBCGPToolTipCtrl.
- CBCGPToolTipCtrl correctly handles TTS_BALLOON style
after control is created.
- Fixed bug with the global (toolbar/menu/ribbon) font
size in some Eastern-Asian OSs.
- CBCGPButton doesn't draw unnecessary focus rectangle
in some visual managers now.
- Fixed bug with drawing CBCGPEditListBox button area
(a correct visual manager background color is used
now).
- CImagePaintArea doesn't fill extra space on the
control right and bottom sides.
- CBCGPComboBox correctly draws drop-down button in
all Windows themes now.
- If application frame is in full screen mode,
CBCGPRibbonBar::ShowBackstageView deactivates it first.
- CBCGPGraphicsManagerGDI draws lines, arcs and
ellipses with a pen style different from PS_SOLID using
anti-aliasing methods.
|
|
Version 17.0.
Released 01/23/2012 |
|
New features |
- Added the long
awaited Diagram
Control (see
screenshot), which
implements the
following features:
-
Ability to add
unlimited number
of diagram
shapes and
connectors.
-
Various
predefined
diagram blocks,
including
circles,
triangles,
boxes, rounded
boxes,
parallelograms,
trapezoids,
stars and
clouds.
-
Table diagram
block.
-
Text labels
inside diagram
blocks.
-
Smart straight
and curved
diagram
connectors with
5 types of
customizable
arrows.
-
Interactive
diagram editing.
-
Ability to save
and load diagram
to/from XML.
-
Copy diagram
image to the
Clipboard.
-
Save diagram
image to a file.
-
Please run the
new
BCGPDiagramDemo
example to see
the new control
in action.
-
Chart
Control
implements new and
updates existing
features:
-
Axis scale
breaks (see
screenshot).
Call
CBCGPChartAxis::EnableScaleBreaks
to enable this
feature for an
axis. Scale
breaks can be
generated
automatically or
added manually.
See the updated
BCGPChartExample
| Advanced
Features | Scale
Breaks for more
info.
-
Added new chart
category -
Histogram. Use
the new
BCGPChartHistogram
category and
CBCGPChartHistogramSeries
class
to create series
of this type.
-
Implemented two
new technical
indicators for
Stock charts
(see
screenshot):
Bollinger Bands
and MACD. Use
CBCGPChartBollingerBandsFormula
and
CBCGPChartMACDFormula
classes to
add these
indicators to
Stock charts.
-
Stock charts are
optimized to
handle very
large data. Call
CBCGPChartStockSeries::AddData
and pass a
CArray of
CBCGPChartStockData
objects to
quickly
initialize a
stock series
with market
data.
-
Now stock series
are working in
"index mode"
mode by default.
It means that
data points are
accessed by
index, but X
axis displays
labels according
to date stored
in the X
component of
data point.
Important
note. Do not
call
CBCGPChartAxisX::SetFixedDisplayRange
with date/time
values, use data
point indexes
instead.
-
Now you can
create virtual
stock series by
overriding only
three methods:
IsOptimizedLongDataMode
(should return
TRUE),
GetDataPointCount
(should return
the total number
of data points
in a stock
series) and
GetStockDataAt,
which should
return the data
obtained from
external source.
-
Line, Area,
Column, Bar and
Histogram series
can handle very
large volumes by
trading off the
ability to
customize
individual data
point
properties. Call
CBCGPChartSeries::AddDataPointsOptimized
or
CBCGPChartVisualObject::AddDataPointsOptimized
with array
of double values
to add a batch
of data points.
Take a look at
BCGPChartDemo |
Large Volume
Charts | Huge
Data to see this
feature in
action.
-
CBCGPChartAdvancedFormula
output
series now takes
advantage of
"optimized long
data" feature,
which allows to
increate
performance and
reduce memory
consumption. Set
CBCGPChartAdvancedFormula::m_bUseLongData
to FALSE before
creation of
output series to
use "regular"
data points.
-
Added support
for tooltips
(see
screenshot).
Call
CBCGPChartCtrl::EanbleTooltip
to enable
tooltips for a
chart control.
You can override
CBCGPChartSeries::OnGetDataPointTooltip
to customize
tooltip text for
a specific data
point. You can
override
CBCGPChartVisualObject::OnGetToolTip
to customize
a tooltip
displayed at
specified client
coordinates.
-
You can
customize series
fill opacity by
calling
BCGPChartFormatSeries::SetSeriesFillOpacity.
-
Added new
notifications
about axis zoom
and scroll
actions: chart
control's owners
will receive
BCGM_ON_CHART_AXIS_ZOOMED
and
BCGM_ON_CHART_AXIS_SCROLLED
messages. Also
you can override
OnAxisZoomed
and
OnAxisScrolled
overrides in
CBCGPChartVisualObject.
-
CBCGPChartAxis
has two new
members
m_szMaxFixedLabelSize
and
m_strMaxDisplayedLabel.
The first member
allows to
specify maximal
axis label size
(in pixels),
which won't be
overridden by
internal
calculations.
The second
allows to
specify a label
whose size will
be used as
maximal label
size.
-
Output series
type
encapsulated in
CBCGPChartAdvancedFormula
can be
customized by
overriding of
GetOutputSeriesType
and
GetOutputSeriesCategory
methods.
-
CBCGPChartObject
has a new
coordinate
mode
CM_PIXEL_FIXED_SIZE.
Now you can
add objects of
fixed
size to
the diagram area
and specify
object size
and position in
pixels.
-
CBCGPChartLongSeries
has a new
method
GetNearestScreenPoint,
which calculates
position for
interactive
markers.
-
Chart View
correctly
handles Windows
7 task bar
interaction.
-
Pan mode
correctly
scrolls
different series
displayed on
different axes.
-
Property Grid
Control implements the
following new
features (see
screenshot):
-
Added new
property
classes:
CBCGPBrushProp,
CBCGPTextFormatProp
and
CBCGPLineStyleProp.
These
classes allow to
represent in a
property list
control the brush,
text format and
line style
compound
properties.
-
Property list
control can
display context
menu with
predefined and
custom options.
Call
CBCGPPropList::EnableContextMenu
to enable or
disable this
feature. Call
SetCustomMenuItems
to add
custom menu
items to the
context menu.
-
Added ability to
display a
built-in toolbar
with predefined
commands. Call
CBCGPPropList::EnableToolbar
to show the
toolbar with
"Categorized"
and
"Alphabetical"
commands. Also
you can make
this toolbar
displaying
custom buttons.
-
Added ability to
display a
built-in search
box. Call
CBCGPPropList::EnableSearchBox
to show the
search box.
-
Added property
copy/paste
operations.
-
CBCGPColorProp
by default
displays D2D
color palette.
If you wish to
use previous
(system, 20
colors) palette,
set constructor
parameter
'bUseD2DColors'
to FALSE.
-
New method
CBCGPColorProp::SetColors
allows to
dynamically
modify the color
palette.
-
Properties can
be identified by
property ID,
therefore a
CBCGPProp
object can be
constructed with
ID. Added a new
method
CBCGPPropList::FindItemByID
and several
update methods (UpdateProperty,
UpdateBrushProperty
etc.).
-
Added new
methods that
simplify the
property grid
usage:
-
CBCGPProp::SelectOption:
selects
property
options by
index
-
CBCGPProp::GetSelectedOption:
gets a
selected
option
-
CBCGPPropList::GetPropertyValue:
returns the
property
value
-
CBCGPPropList::EnableProperty:
enables/disables
property
-
CBCGPPropList::SelectPropertyOption:
selects the
property
option
-
You can see the
new features in
action in the
new sample
PropertyGridMDIDemo
(see
screenshot)
and modified
example
BCGPControls.
-
Ribbon Bar
-
Added "Clean up
unused images"
feature to the
Ribbon Designer.
-
Added Recent
File Form for
Backstage View
(see
screenshot).
This view
includes recent
file list and
recent folder
lists. Each list
has ability to
pin/unpin
recently used
files/folders.
You can easily
add this form to
your Backstage
View using new
CBCGPRibbonBackstageViewPanel::AddRecentView/AttachRecentViewToItem
methods.
-
CBCGPRibbonRecentFilesList
(Office
2007-style) has
ability to
pin/unpin
recently used
files (see
screenshot).
CBCGPRibbonRecentFilesList
constructor has
a new, optional
parameter 'BOOL
bShowPins =
FALSE'.
-
CBCGPBaseRibbonElement::NotifyCommand
method is
virtual now.
-
New methods
CBCGPFrameWnd::CloseRibbonBackstageView
and
CBCGPMDIFrameWnd::CloseRibbonBackstageView
allows to
programmatically
close backstage
view.
-
Enhanced Ribbon
Bar backstage
view support.
The following
new methods were
added to
CBCGPRibbonBar
class:
-
ShowBackstageView(CRuntimeClass*
pViewClass);
-
ShowBackstageRecentView();
-
SetDefaultBackstagePage(int
nPage);
-
GetDefaultBackstagePage();
-
CBCGPRibbonHyperlink::OpenLink
method is
virtual now.
- Added method
'CBCGPRibbonStatusBar::ReplaceElementByID'
- Added a new
Tag Cloud
control (see
screenshot). This
control is a visual
representation for
text data ("tags")
and the importance
of each tag is shown
with font size or
color. The control
implements the
following features:
-
Unlimited number
of tags.
-
Alphabetical
sorting.
-
Sorting by
value.
-
Customizable
text color.
-
Customizable
text format.
-
Tooltip support.
- Toolbars and
Menus
-
Added new
virtual method
CBCGPToolBar::OnLargeIconsModeChanged
-
Improved some
issues in
toolbar/menu bar
accessibility
support.
-
Added new
virtual method
CBCGPToolbarButton::OnClickUpOutside
-
Visual Designer
for Gauges
(see
screenshot)
-
Now you can
create
top-quality
digital
dashboards using
the new WYSIWYG
design tool in
minutes!
-
Arrange gauges
on the design
surface and
change their
properties.
-
Save your
dashboard to XML
and load it in a
C++ application.
-
See the updated
BCGPGaugesDemo
to learn how to
integrate
designed
dashboards with
your
application.
- Graphics
Manager
-
CBCGPGeometry
supports 2
filling methods
now: alternate
or winding.
GetFillMode/SetFillMode
methods were
added to this
class.
- New static
method
CBCGPColor::CreatePalette
creates palette
from the colors
array.
-
CBCGPColor::GetRGBArray
returns colors
array in order
suitable for
displaying in
14-columns grid
(see
screenshot).
- CBCGPBrush
has '=='
operator now.
- Added
CBCGPBrush::SetOpacity
method.
-
CBCGPTextFormat:
added character
set support.
This class has a
new constructor
and GetCharSet
and
CharSetToLocale
new methods.
-
CBCGPGraphicsManager::CleanResources
has new,
optional
parameter 'BOOL
bDetach'.
Setting this
parameter to
TRUE allows to
detach graphics
resources from
the manager.
- Added
content scaling
support:
CBCGPGraphicsManager
has new methods:
SetScale/GetScale
-
New
controls and dialogs
-
CBCGPEditBrushDlg
(see
screenshot)
allows to edit
CBCGPBrush
properties.
-
Added Line style
combobox control
-
CBCGPLineStyleComboBox
-
Added Brush
button -
CBCGPBrushButton
-
CBCGPTextFormatDlg
(see
screenshot)
allows to edit
CBCGPTextFormat
properties.
- Tab control
enhancements
- Gauges
- CBCGPColorIndicatorImpl
has new
constructor
where you can
specify
background
brush.
-
CBCGPTextGaugeImpl
has new
constructor
where you can
specify
background
brush.
-
CBCGPBaseVisualObject
has new virtual
method 'OnMouseDblClick'
-
CBCGPVisualContainer
has new methods
'GetByID' and 'LoadFromFile'
- Grid control
- New method
CBCGPGridCtrl::EnableGridLines
is used to
disable grid
lines in the
grid control.
- New method
CBCGPGridCheckItem::SetLabel
allows to draw
text label
inside
checkbox-item.
- Miscellaneous
additions
- CBCGPMemDC
has new,
optional
parameter 'dblScale'.
You can create
the memory DC
with ability to
scale it.
-
BCGPGLOBAL_DATA
has new method 'ChangeWindowMessageFilter'
-
ChangeWindowMessageFilter
function
wrapper.
- Improved
CBCGPButton's
focus rectangle
appearance when
control is
located on Aero
("glass") area.
-
CBCGPColorBar
has new static
method 'GetColorName'
which returns
color name by
value.
- Added mouse
tracking in
CBCGPDateTimeCtrl
parts such as
check box or
calendar
drop-down
button.
- CBCGPDrawManager
has new method 'DrawFocusRect'
which allows to
draw focus
rectangle on
Aero.
- CBCGPInplaceToolTipCtrl
utilizes Visual
Manager tooltip
drawing now.
- Added pin,
description and
separator
support for
CBCGPListBox.
The following
new methods were
added to
CBCGPListBox
class:
-
EnablePins
- HasPins
-
EnableItemDescription
-
HasItemDescriptions
-
SetItemDescription
-
SetItemPinned
-
IsItemPinned
-
ResetPins
-
AddSeparator
-
IsSeparatorItem
-
OnClickPin
-
OnClickItem
-
OnReturnKey
- Added method
CBCGPOutlookBarPane::RemoveButtonByIndex.
- Added
keyboard
navigation to
CBCGPColorPickerCtrl
in hexagon mode.
-
CBCGPVisualManager
has following
new methods:
-
OnFillPropListToolbarArea
-
OnFillPropertyListSelectedItem
-
OnDrawPropListComboButton
-
OnDrawPropListPushButton
-
GetPinSize
-
OnDrawPin
-
OnFillRibbonPinnedButton
-
OnDrawRibbonPinnedButtonBorder
- Examples and samples
- BCGPChartExample has the following additions:
- "Advanced Features | Scale Breaks"
illustrates the new "scale breaks" feature.
- "Large Volume Charts | Huge Data"
demonstrates the performance of "optimized long
data mode".
- "Large Volume Charts | Huge Average Data"
shows how to add interactive markers to
BCGPChartLongData chart.
- "Large Volume Charts | Virtual Chart"
describes the technique required to create
virtual charts, where the data is taken from an
external source.
- "Stock Charts" demonstrate new
technical indicators.
- BCGPGaugesDemo shows how load dashboard from the
Visual Designer data file.
- BCGPGridExample show how to create grid control
with watermark image
(see
screenshot).
- The following new samples were added:
- BCGPDiagramDemo: demonstrates how to use new
Diagram Control.
- PropertyGridMDIDemo: demonstrates new
property grid features and how to use the
property grid in MDI application.
- TagCloudDemo: demonstrates new Tag Cloud
control.
|
|
Fixes: |
- CBCGPCircularGaugeCtrl::CreateCustomGauge correctly
updates control owner now.
- Fixed bug with image transparency in
CBCGPEdit::SetBrowseButtonImage method.
- CBCGPGraphicsManagerD2D::DrawText correctly draws
text in non-UNICODE applications now.
- Tabbed MDI windows can't be shrunk beyond minimum
size.
- MDI child window with embedded split window
correctly exits from Print Preview mode.
- CBCGPRibbonEditCtrl::OnKillFocus doesn't notify
owner when user click embedded "clear" button.
- CBCGPRibbonPanel::GetElementsByName don't add to
collection ribbon application buttons now.
- Fixed bug in CBCGPGridCheckItem with SPACE button.
Disabled CBCGPGridCheckItem does not modify state of the
checkbox on pressing SPACE.
- Fixed bug in the grid with painting the selection
border in virtual mode.
- Fixed bug in CBCGPGridCtrl:: FindRowByData. The
second parameter bSearchSubItems is used properly now.
- Fixed bug with grid item drag and drop. The click at
the button inside the grid item does not start dragging
now.
- Fixed bug in CBCGPGridCtrl::SetCurSel with selecting
all content. The grid with no selected item processes
"SelectAll" command properly now.
- Radar chart correctly displays categories.
- Fixed a problem when a chart axis was incorrectly
truncated because of incorrectly specified scroll range
(CBCGPChartAxis::SetScrollRange). Now a larger scroll
range can't be overridden by smaller range. To reset a
scroll range and specify smaller values reset it by
calling SetScrollRange without parameters.
- 3D charts correctly display axis names (now they are
aligned to axes and rotated with chart).
- Fixed infinite loop in
CBCGPChartAxis::ApproximateValue.
- Fixed incorrect calculation of axis scrollbar thumb.
- Polar X axis correctly handles ValueFromPoint
requests.
- CBCGPChartCtrl::CreateCustomChart automatically sets
an owner of newly created chart visual object.
- Interline coloring effect is correctly clipped when
chart is zoomed in.
- Chart in history mode does not display empty data
point at the last X coordinate.
- CBCGPChartHistoricalLineSeries displays history from
X = 0 (it was 1 in previous version).
|
|
Version 16.1.
Released 10/17/2011 |
|
New features |
- The product is ready for Windows 8!
All product functionalities were thoroughly tested under
Windows 8 preview. Few minor bugs addressed to Windows 8
have been fixed and we confirm that our product is ready for
use in this new operating system.
- Visual Studio 2011 Developer Preview support.
For your convenience we added
project/solution files for Visual Studio 2011, so if you
begin porting your projects to the new Visual Studio, our
library is ready for this. Also, we've updated our
Integration Wizard - now it includes support VS 2011.
Please note that Visual Studio 2011 support currently is
available for the retail version only.
- Chart Control implements new and
updates existing features:
- Enhanced custom axis support. Now you can add a
custom axis using CBCGPChartAxis::Split method at
the top or at the bottom of the axis being split
(see a new optional parameter bCustomAxisAtTop).
- Added a new method
CBCGPChartVisualObject::RemoveCustomAxis.
- Added a new axis cross type
CBCGPChartAxis::CT_FIXED_DEFAULT_POS, which makes an
axis to be fixed at its default position at the edge
of plot area.
- Created infrastructure for custom financial
indicators:
- A new CBCGPChartAdvancedFormula class can be
used as a base class for custom indicators.
- CBCGPChartSeries::GetDataBuffer allows to store
intermediate calculations for each data point in a
series. You can allocate unlimited number of
buffers.
- Implemented several technical indicators in the
following new classes:
- CBCGPChartMAFormula implements moving averages
(simple, exponential, smoothed, linear weighted)
- CBCGPChartStochasticFormula implements
Stochastic Oscillator
- CBCGPChartRSIFormula implements RSI indicator
(smoothed, exponential, simple).
Please take a look at CBCGPChartExample | Stock
Chart to see the new indicators and custom axis
support in action (see
screenshot).
- Added "Manhattan Stacked Column" chart type (see
screenshot). To enable this kind of charts you have
to use the new CBCGPChartDiagram3D::SetExplicitGrouping
method.
- CBCGPChartExample | Advanced Features | Custom
Axis illustrates how to add a standalone custom axis
(see
screenshot).
- Grid Control implements the following
new features:
- The following methods are virtual now:
- CBCGPGridCtrl::StartSelectItems
- CBCGPGridCtrl::SelectItems
- CBCGPGridCtrl::StopSelectItems
- Added a new optional parameter bUpdate to
CBCGPGridCtrl::EnableFilterBar method.
- Ribbon Bar
- Added new method 'CBCGPRibbonBar::ShowBackstageView'
that allows to programmatically show a specific
backstage view page. Also, you can call a new method
'CBCGPRibbonBar::ShowBackstagePrintView' to show the
backstage print page.
- Method CBCGPRibbonBar::AddPrintPreviewCategory is
virtual now, so you can customize the Ribbon print
preview appearance and functionality.
- Graphics Manager
- CBCGPGraphicsManager::CreateInstance has a new
optional parameter: CBCGPGraphicsManagerParams*
pParams. Using this new parameter you can specify
the target DPI, alpha mode and rendering type.
|
|
Fixes: |
- Escape key is correctly handled during interactive
resize of the chart custom axes.
- CBCGPChartAxis::Split correctly splits multiple
axes.
- CBCGPRibbonBar::LoadFromVSRibbon correctly loads
ribbon bar from VS ribbon resource under VS 2010/2011.
- Fixed problem with appearance of 32 bit images in CBCGPBaseVisualCtrl::OnDrawLayeredPopup under Windows 8.
- Fixed problem with incorrect circular gauge shape in
specific scale angles.
- Fixed some painting bugs in MDI tabbed groups.
- Fixed problem with Grid Filter bar drawing in
"freeze columns" mode.
- Pressing 'Alt' key correctly activates application
menu bar under Windows 8.
- Now CBCGPButton::m_clrFace is used when a button has a
Visual Manager theme.
|
|
Version 16.0.
Released 07/26/2011 |
|
New features |
- Toolbar Editor
The new utility Toolbar Editor (see
screenshot) allows you easily create and manage
application toolbars. You can add toolbar buttons,
create and edit toolbar button images for various color
modes and screen resolutions and associate buttons with
command IDs.
- Chart Control has been extended
with the following new 3D chart types:
- Column in 3D: "Manhattan" (see
screenshot), regular (clustered),
stacked (see
screenshot), 100% stacked, ranged.
- Surface: "regular" and "level"
(see
screenshot).
- Line in 3D: regular (see
screenshot), stacked, 100% stacked.
- Area in 3D: regular (see
screenshot), stacked, 100% stacked,
ranged (see
screenshot).
- Bar in 3D: "Manhattan" (see
screenshot), regular (clustered),
stacked, ranged and 100% stacked (see
screenshot).
The new 3D charts support software and
hardware (OpenGL-based) rendering.
You can see the new chart types in action in the updated
CBCGPChartExample. Also, please visit our new
Charts Gallery and see how many professional and
nice-looking charts you can create using our toolkit.
- Ribbon Bar implements the following new and
updated features:
- Ribbon Designer allows to update an existing
image now.
- Added several methods that allow to modify the
existing ribbon elements:
- CBCGPRibbonPanel::Replace
- CBCGPRibbonPanel::ReplaceByID
- CBCGPRibbonPanel::ReplaceSubitemByID
-
CBCGPRibbonBackstageViewPanel::AttachPrintPreviewToItem
- The MSAA support for the Ribbon was improved.
- A ribbon button can be added to QAT as
a checkbox or radio button. Call the new method CBCGPRibbonButton::SetQATType to specify if the
ribbon button should appear on QAT as checkbox or
radio button. If you're using Ribbon Designer,
you can set this property in the button properties
grid.
- Grid Control implements the following
new features:
- Multi-line text support for grid
header items (see
screenshot): word wrapping, understanding "\r\n" line breaks,
multiline in-place editor, horizontal and vertical
align, printing. Please take a look at BCGPGridExample
to see this feature in action.
- Added ability to subclass the default
grid header by overriding the virtual GetColumnsInfo()
function.
You can learn how to extended a grid header with two
header lines and merged header items in BCGPGridExample,
"Multi-Line Header" tab.
- Added ability to animate a content of a grid item - see BCGPGridExample, "Cell Types" tab.
- Gauge components have the following new
interactive controls:
- Knob (see
screenshot)
- Radial menu (see
screenshot)
- Rotation control (see
screenshot)
- Analog clock (see
screenshot) (in previous versions this control was
implemented in example code).
- Added gauges tooltip support.
- Added interactive gauge support:
- SetInteractiveMode/IsInteractiveMode methods were
added to CBCGPGaugeImpl class.
- BCGM_ON_GAUGE_START_TRACK,
BCGM_ON_GAUGE_TRACKBCGM_ON_GAUGE_FINISH_TRACK and
BCGM_ON_GAUGE_CANCEL_TRACK registsred messages were
added.
- New structure CBCGPGaugeTrackingData contains the gauge
tracking data such as last tracking message, screen
point and current gauge value.
- CBCGPLinearGaugePointer has the following new
styles:
- BCGP_GAUGE_NEEDLE_CIRCLE
- BCGP_GAUGE_NEEDLE_DIAMOND
Using these new controls and features you can easily create
fully-functional, interactive digital dashboards. Please run BCGPGaugesDemo to see these
features in action.
-
Toolbars and Menus
- Menu bar Popup mode (see
screenshot).
Now the application menu can be hidden by default and
shown when the user presses Alt or F10 keys (like in
Interned Explorer or Windows Explorer interface). All
that you need to do to enable this feature is to call
CBCGPMenuBar::EnablePopupMode(TRUE). Please run a new
sample PopupMenuBar to see this feature in action.
- New virtual method
CBCGPToolbarButton::GetKeyboardAccelerator allows to
customize the appearance of keyboard accelerator label.
- CBCGPPopupMenu has a new method:
GetSafeActivePopupMenu - returns the active popup menu
in the current UI thread.
- Toolbar Image editor correctly works with 32bpp
toolbar images now.
- Docking Panes
- CBCGPFrameWnd/CBCGPMDIFrameWnd::EnableControlBarContextMenu
has a new, optional parameter 'bIncludeRebarPanes'.
Setting this parameter to TRUE allows to include
embedded rebar panes (such as toolbars or dialog
bars) to the docking pane context menu.
- CBCGPCaptionBar has a new method 'SetMessageBarMode'.
Using this method developer can switch between
"message bar" (Office 2007/2010-like) and "classic"
modes at run-time.
- Calendar and Planner
- Added working interval support:
CBCGPPlannerManagerCtrl::SetViewHourInterval and
CBCGPPlannerManagerCtrl::SetPrintHourInterval method
were added.
- Added ability to customize "Up"/"Down" icons
- Graphics Manager
- CBCGPImage can be initialized from HICON and
HBITMAP now
- Added method
CBCGPGraphicsManager::DrawBeveledRectangle
- Dialogs
- BCGP_MSGBOXPARAMS has a new member 'bIsChecked'.
You can set it to TRUE and show the message box
check box checked by default.
- Improved appearance of CBCGPDialogBar embedded
into the Rebar pane.
- Windows 7 Taskbar interaction support was
extended - the following new methods were
added to CBCGPFrameWnd and CBCGPMDIFrameWnd classes:
- SetTaskBarProgressValue
- SetTaskBarProgressState
- SetTaskBarOverlayIcon
- SetTaskBarOverlayIcon
- ClearTaskBarOverlayIcon
Please take a look at new sample TaskBarDemo to see this
feature in action.
- Examples and samples
- For your convenience, all examples and samples
were prepared for Visual Studio 2010. Please open
MakeExamplesVS2010.sln and MakeSamplesVS2010.sln
solutions to build them without conversion in Visual
Studio 2010 environment.
- WordPad example was fully redesigned
and looks now like Windows 7 WordPad application (see
screenshot). In addition, we illustrate
how to switch between toolbar-based and Ribbon-based
interfaces at the runtime.
- BCGPChartExample illustrates new 3D
charts.
- BCGPGaugesDemo shows how to create
the new knob and radial menu gauges.
- BCGPMSOffice2007Demo has been
replaced with BCGPMSOfficeDemo, because now the demo
illustrates Microsoft Office 2010 features as well.
- BCGPIE7Demo has been
replaced with BCGPInternerExplorerDemo and demonstrates how
to implement the latest features found in Microsoft Internet
Explorer 9 using BCGControlBar library.
- BCGPExplorer was moved to "Examples" group
- The following new samples were added:
- PopupMenuBar: demonstrates menu bar
in popup mode.
- TaskBarDemo: demonstrates Windows 7
Taskbar features such as thumbnails, preview, overlay
icons and others.
- RebarDemo: demonstrates integration with the
Windows rebar control.
- TearOffMenu: demonstrates detachable
("tear-off") menus.
- CaptionBarDemo: demonstrates MS Office-like
caption bar.
- DropDownToolbarDemo: demonstrates toolbar
button with dropped-down menu box.
- MenuQuestionBox: demonstrates Office
2003-like menu question box.
|
|
Fixes: |
- Fixed some problems in Chart Control.
- CBCGPMainClientAreaWnd::OnEraseBkgnd doesn't perform
MDI client area drawing in case of MDI tabbed groups.
- Fixed problem with drawing CBCGPBreadcrumb on the
DWM aero area.
- Fixed problem with drawing CBCGPScrollBar on the DWM
aero area.
- CBCGPEdit::OnDrawBrowseButton correctly draws
disabled button images now.
- CBCGPOutlookBar doesn't load the tab names from the
registry. This allows to rename Outlook bar text labels
without cleaning the registry application branch.
- Fixed some bugs in Full Screen mode.
- Fixed some minor visual problems in high DPI and
high contrast display modes.
- Fixed memory/resource leak in graphics manager
gradient brush initialization.
- Fixed a problem with a push button text color in CBCGPVisualManagerCarbon.
- CBCGPLinearGaugeImpl: fixed some problems with gauge
appearance under Windows XP (in GDI mode).
- Fixed some problems with Outlook bar appearance in
CBCGPVisualManager2010
- Improved drawing of the Ribbon context category
label in CBCGPVisualManager2010
- CBCGPMaskEdit: fixed some minor problems with
VK_HOME/VK_END behavior.
- CBCGPToolBarImages::Load correctly loads 32bpp
images from file now.
- Fixed bug with displaying incorrect value in
CBCGPCalculator::UpdateDisplay.
- Fixed bug with processing Ribbon combo and edit
boxes in CBCGPRibbonMainPanel::OnSearch.
- CBCGPToolbarComboBoxButton closes drop-down list
when application menu bar is being active now.
- Ribbon backstage view correctly processes VK_HOME
keyboard accelerator when edit box located on the view
is focused.
- Fixed bug in CBCGPDlgImpl::LoadPlacement/SavePlacement:
the dialog location is restored correctly now when the
Windows task bar is located on the left or top side.
- Fixed typo in CBCGPToolTipCtrl: m_strDesrciption
member was renamed with m_strDescription.
|
|
Version 15.1.
Released 02/24/2011 |
|
New features |
- Chart Control:
- The following new chart types were added:
- Added support for logarithmic scales of any base
(see
screenshot).
- Added trend line support with the following built-in
approximations (see a new class CBCGPChartTrendFormula):
- Linear
- Exponential
- Logarithmic
- Power
- Polynomial of order 2 - 6 (see
screenshot).
- Transition (formula) support (see
screenshot) has been implemented in
a new class CBCGPChartTransitionFormula. It can take
several input series and generate data points using
either built-in transitions (sum, diff, multiply,
divide, average etc), or custom transitions (you can
specify a callback implementing a custom formula).
- Virtual series (see
screenshot) support allows to display any custom
function on the diagram.
- "Chart Objects" feature (see
screenshot) allows you to add annotation
and other objects (like lines or colored zones) to a
Chart or diagram. The following new classes were added
for this feature:
- CBCGPChartObject
- CBCGPChartLineObject
- CBCGPChartRangeObject
- CBCGPChartTextObject
- CBCGPChartAxisMarkObject.
The main Chart controller (CBCGPChartVisualObject)
provides the following helpers to allow you to add Chart
Objects quickly using the following methods: AddChartObject, AddChartTextObject,
AddChartLineObject, AddChartRangeObject and AddChartAxisMarkObject.
- "Chart Effects" feature enables you to add interline
coloring effects to a diagram (see
screenshot). See new classes CBCGPChartBaseEffect, CBCGPChartInterLineColoringEffect.
- Axes can display scroll bars (see
screenshot). Use two new methods ShowScrollBar and SetAlwaysShowScrollBar defined in
CBCGPChartAxis, or helpers defined in
CBCGPChartVisualObject: ShowScrollBar (enables scroll
bar for a given axis) and ShowScrollBars (enables scroll
bars for all axes).
Please take a look at BCGPChartExample program to see
these features in action.
- Linear Gauge (see
screenshot)
has been added to the Gauges collection: the new class CBCGPLinearGaugeImpl implements the linear gauge. Please
take a look at BCGPGaugesDemo to see the gauges in action.
- Added ability to save/load Dialogs and Property
Sheets window placements. The following methods have
been
added:
- CBCGPDialog::EnableLoadWindowPlacement
- CBCGPPropertySheet::EnableLoadWindowPlacement
Please take a look at ResizableForm sample program to
see this feature.
- Ribbon Bar additions:
- Added new static method
CBCGPRibbonPaletteButton::ClearLastSelectedItem.
- Added method CBCGPRibbonBar::OnBeforeShowContextMenu.
- Grid additions:
- Added Find support - the following new methods
have been added to the CBCGPGridCtrl class:
- OpenFindReplaceDlg
- CloseFindReplaceDlg
- Find
- OnPrepareFindString
- OnTextNotFound
- OnTextFound
Please take a look at BCGPGridExample to see this
feature in action.
- Added a new virtual method 'CBCGPGridCtrl::OnAfterInplaceEditCreated
which is called right after the in-place edit has
been
created.
- Added MS Active Accessibility support
to CBCGPBaseTabWnd class.
|
|
Fixes: |
- Fixed problem with middle mouse button click on MDI
Tab.
- The text color of the floating toolbar caption is
properly defined now in all Visual Managers.
- The color popup has a correct location now when it
positioned on top of the parent color button.
- Fixed problem with saving edit text on the popup
ribbon panels.
- If Windows task bar in auto-hide mode, the
Ribbon-based application is correctly calculates the
maximized size now.
- MDI Tab keeps the tab custom color when user moves
tab from one group to another.
- CBCGPGridCheckItem now can print a check mark.
- Fixed painting of the right side of the grid header.
- Fix in CBCGPGridCtrl::OnLButtonUp for disabled grid
items.
- Fixed a problem with drawing rotated texts using CBCGPGraphicsManagerGDI.
- Fixed some visual problems problem with Ribbon
bar/Backstage view in the high contrast mode.
- CBCGPEdit correctly draws browse button images when
the edit control is disabled.
- Fixed problem with drawing dates with year less than
1900 in CBCGPDateTimeCtrl and CBCGPCalendar under VS
2005 and higher.
- Fixed problem with scrolling popup menu using mouse
wheel.
- Fixed some problems in Chart Control.
- CBCGPVisualManager2007::DrawNcText correctly draws
application caption with the ampersand.
|
|
Version 15.0.
Released 12/08/2010 |
|
New features |
- New Chart Control (see
screenshot)
- the most advanced and professional chart on the MFC market
today! This chart control offers a wide range of the
different chart types:
- Line
- Area
- Bar and Column
- Pie
- Pyramid
- Funnel
- and lot of others!
Please browse our
Feature Tour for the full list of the chart
features and take a look at the new example BCGPChartExample to see the
Chart in action.
- New Gauge Controls (see
screenshot).
The library implements various types of gauges that help
a developer to create high-quality, fast and
beauty digital dashboards. The following gauge types are
implemented:
- Circular Gauges.
- Numeric Indicators.
- Color Indicators.
- Text Labels.
- Image Indicators
Please browse our
Feature Tour for the full list of gauge
features and take a look at the new example BCGPGaugesDemo to see the gauges in action.
- Added D2D support. A new class
'CBCGPGraphicsManagerD2D' implements D2D backend. It
exposes various methods for easy access to D2D and DirectWrite interfaces. All graphics primitives like
lines, rectangles, ellipses, geometries, arcs, pies,
pyramids and texts can be easily drawn with D2D speed
and quality using just few lines of code. Also we added
a new class 'CBCGPGraphicsManagerGDI', which can be used
on OSs that do not support D2D (for example, Windows XP or Windows
2000). The base class CBCGPGraphicsManager automatically
creates GDI manager if it detects an older OS (where D2D
is not supported).
- Office 2010-style Print Preview (inside Backstage
View - see
screenshot).
'CBCGPRibbonBackstageViewPanel:: AddPrintPreview '
method has been added. Please take a look at
BCGPMSOffice2007Demo to see how it's easy to add this
feature to your application.
- New Editor language schemes (see
screenshot).
Outline parser customization was extended. Added new
Lexeme::m_dwData, BlockType::m_dwData members. Extended
LexemType enumerator.
BCGPVisualStudioGUIDemo example demonstrates how to
implement the following schemes using new mechanism:
- C++
- HTML
- BASIC
- Pascal
- C#
- Assembler
- XML
- SQL
- Added drop-down galleries (see
screenshot).
New class CBCGPRibbonComboGalleryCtrl allows to create
drop-down galleries on dialogs in ribbon-based
applications. Please take a look at RibbonGadgets sample
("Galleries" tab) to see how to add various galleries in
a dialog.
- The ribbon bar is integrated with VS 2010 Ribbon
Editor: call new method 'CBCGPRibbonBar::
LoadFromVSRibbon' to load ribbon bar form RT_RIBBON
resource.
- Added description to CBCGPButton (see
screenshot):
CBCGPButton::SetDescription/ CBCGPButton::GetDescription
methods have been added. Take a look at BCGPControls
example ("Buttons" page) to see this new button
style.
- CBCGPRibbonPanel: added SetName method.
- CBCGPRibbonStatusBarPane constructor has a new,
optional parameter 'bAlphaBlendIcon'. Set it TRUE if
32-bit icon is being added to the status bar pane.
- Grid changes:
- The class CBCGPGridItemID has new state {m_nRow
= -2, m_nColumn = -2} which indicates the selection
of the whole content. New methods:
CBCGPGridItemID::SetAll, CBCGPGridItemID::IsAll.
CBCGPGridItemID::IsNull was modified.
- CBCGPGridItem::Init and CBCGPGridItem::SetFlags
are now virtual.
- Added CBCGPGridCtrl::IsColumnBeingResized
function.
- Added option to disable quick sorting. To return
to the previous ("bubble") sorting implementation
please use new CBCGPGridCtrl::m_bUseQuickSort
member.
- Added CBCGPGridCtrl::NormalizeSelectionList,
CBCGPGridCtrl::RemoveSelectedRows,
CBCGPGridCtrl::Delete,
CBCGPGridCtrl::IsDeleteEnabled functions.
- Added mechanism to customize colors alternating.
Please override virtual BOOL OnAlternateColor (const
CBCGPGridItemID& id) to specify if an item has odd or
even color.
- Improved performance of the grid with many
columns. Changed implementation of
CBCGPGridColumnsInfo class, changed the internal
column's container.
- Changes in Examples and Samples:
- Added a new example BCGPChartExample
that demonstrates Chart features.
- Added a new example BCGPGaugesDemo
that demonstrates Gauges features.
- Added a new sample 'RibbonMenuSwitch'
- this sample demonstrates how to switch between
Ribbon and Menu/Toolbar mode at run-time.
- BCGPGridExample has been updated to
illustrate how to create a Chart within a merged
cell.
- SideBarDemo now illustrates how to
add a circular gauge (clock) and chart (weather
forecast) to Side Bar (see
screenshot).
|
|
Fixes: |
- CBCGPRibbonKeyboardCustomizeDlg doesn't show
separators in the command list now.
- CBCGPDateTimeCtrl doesn't show drop-down calendar if
control is disabled.
- Fixed problem with accessibility navigation and
a default action in CBCGPToolBar and CBCGPRibbonBar.
- CBCGPToolbarMenuButton::DrawMenuItem correctly draws
an user-defined image if its size differs from standard.
- Full-screen mode: fixed problem with restoring
hidden control bars in case of a multi-top level
frame application.
- The ribbon panel text color has a correct value now
when CBCGPVisualManagerScenic is activated.
- CBCGPMaskEdit doesn't process any (except
navigation) keys in read-only mode.
- CBCGPListBox doesn't reflect keyboard/mouse clicks
if a list box has LBS_NOSEL style.
- CBCGPGridCtrl: fixed some problems with mouse wheel.
- CBCGPGridCtrl: Changed implementation of the "merged
cells" feature.
- CBCGPGridCtrl: fixed print pagination bug, the bug
appeared if a column width was larger than a print page.
- Fixed CBCGPEditCtrl::LoadXMLSettingsFromBuffer. "EscapeSequences"
tag of XML-settings file works now. "Start" and "End"
tags can contain delimiters now.
|
|
Version 12.1.
Released 05/11/2010 |
|
New features |
- Added support for the Office 2010-style Ribbon
Backstage View in the Ribbon Designer (see
screenshot).
- The Visual Studio 2010 and Office 2010-style
appearance were improved by adapting to the final
product look.
- Grid Control changes:
- Added "Filter Bar" feature (see
screenshot).
This feature enables a "search edit box" under each grid
column header. When a text is typed in an edit box, the
grid data is filtered according to the entered text. Use
CBCGPGridCtrl::EnableFilterBar and
CBCGPGridCtrl::EnableColumnFilterEdit to enable and
configure the "filter bar". You can also provide a
custom filter edit control derived from the new
CBCGPGridFilterEdit class. You will need to override
CBCGPGridCtrl::OnFilterBarChanged method to notify the
grid about entered text (or other data). Please see
BCGPGridExample (new "Filter Bar" view) for more
information about this feature.
- The following virtual methods have been added to
CBCGPGridCtrl to enhance pagination support:
- OnMeasureListRect
- OnStartColumnOnNewPrintPage
- OnBreakColumnAcrossPrintPages.
- A new virtual method CanDropColumnToColumnChooser
has been added to prevent hiding of the specified column
by dropping it on the Column Chooser.
- CBCGPRibbonComboBox has an auto-complete mode now
(see
screenshot). The following new methods were added
to CBCGPRibbonComboBox class:
- EnableAutoComplete: turn on/off auto-complete mode
- IsAutoCompleteEnabled
By default, CBCGPRibbonFontComboBox has auto-complete
mode enabled. Please take a look at BCGPMSOffice2007Demo
example or RibbonGadgets sample to see this feature in
action.
- Added support for the "search" mode to CBCGPEdit
control (see
screenshot). The following new methods were
added to CBCGPEdit class:
- EnableSearchMode: turn on/off search mode
- IsSearchMode
- GetSearchPrompt
Please take a look at BCGPControls example ("Misc.
Controls" page) or SkinnedDialog sample to see
this feature in action.
- Added layout support to CBCGPRibbonCustomizePage:
now you can add this page to resizable property sheets.
Please take a look at the "Options" property sheet in
BCGPMSOffice2007Demo example.
|
|
Fixes: |
- Fixed problem with handling LBN_SELCHANGE message in
CBCGPListBox class: ON_CONTROL_REFLECT is replaced with
ON_CONTROL_REFLECT_EX.
- CBCGPRibbonCheckBox correctly draws tri-state check
boxes now.
- CBCGPRibbonBar::OnChangeVisualManager fully
recalculates layout of the ribbon elements. This fix was
implemented to prevent incorrect element positioning in
case of different element sizes in the various
visual managers.
- CBCGPPropList doesn't "eat" UP/DOWN keys when the
element drop-down list is popped-up.
- The ribbon mini-toolbar ("floaty") doesn't disappear
now when user selects an item in the drop-down palette
such as gallery or color palette.
- CBCGPDlgImpl::OnCtlColor ignores controls defined in
m_lstNonSubclassedItems now.
- Added support for WM_SETFONT message in CBCGPStatic
control.
- CBCGPStatic: fixed bug with the vertical center
alignment.
- Fixed problem with appearance of controls in CBCGPPropertySheet (wizard mode).
|
|
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 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 2005
("Whidbey") look (see
screenshot).
- Implemented a new docking style - "smart docking". It's similar to docking
interface found in Microsoft Visual Studio 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).
|