|
|
|
|
|
|
Version 2.85 - May 23, 2009
Release Notes
Version 2.85 introduces a formula grid control with functionality similar to a Microsoft Excel spreadsheet, a set of geographic controls for editing and displaying latitude and longitude data and a lot of improvements to the generic grid control including region-based cell management and clipboard and OLE drag-and-drop support.
What's New
Grids
-
Added a set of classes that implement the functionality of an Excel-like spreadsheet (see screenshot):
-
CExtFormulaGridWnd , a spreadsheet.
-
CExtFormulaGridCell , an extended OLE variant data cell with the ability of storing and editing formulas.
-
CExtFormulaAlphabet , a class that parses and converts a string into a valid cell reference, which identifies the location of a cell or group of cells in the spreadsheet.
-
CExtFormulaDataManager , a class that manages formulas and named cell ranges.
-
CExtFormulaFunction , a function object.
-
CExtFormulaFunctionSet , a container for all supported functions.
-
CExtFormulaItem , a compiled formula tree node.
-
CExtFormulaValue , the result of a formula calculation or a parameter of a function.
-
CExtFormulaValueArray , a simple and handy array for storing CExtFormulaValue objects.
-
CExtGridDataProviderSparse , an in-memory grid data provider for managing large two-dimensional arrays of grid cells. It is the default data provider for the CExtFormulaGridWnd .
-
CExtGR2D , a range of cells that can consist of one or more rectangular ranges of grid cells. It can be used both with CExtGridWnd and CExtFormulaGridWnd .
-
Added
SelectionRangeGet() and SelectionRangeSet() methods to the CExtGridBaseWnd , which allows you to determine which cells are selected and set the selection to an arbitrary set of cells.
-
Added a FormulaGrid sample that demonstrates the features of
CExtFormulaGridWnd and CExtGridWnd :
- on-the-fly formula calculation
- syntax highlighting formula editor with auto complete pop-up list boxes
- highlighted and editable cell ranges
- rich tool tips
- named ranges
- sparse data provider
- standard copy, cut, paste commands compatible with Microsoft Excel, Open Office Calc and text editors
- delete selection and clear formatting for any cell ranges
- OLE drag-and-drop between processes
- import from/export to Microsoft Excel
- styling grid cells with fonts and colors
- formula grid extensions like a formula bar, a name manager and a value watch window
-
CExtRibbonBar control with simplified layout and selected cell ranges changing their visual appearance on mouse hover over a ribbon gallery.
-
Added drag-and-drop support for
CExtGridWnd -based windows. You can configure this feature by adding or removing the following advanced grid styles:
-
__EGWS_ADV_ENABLE_DATA_DND_DRAG
-
__EGWS_ADV_ENABLE_DATA_DND_DROP
-
Added
AdvGetStyle() and AdvModifyStyle() methods to the CExtGridWnd class. The methods allow you to manage the advanced grid styles.
-
Added the following virtual methods to the
CExtGridWnd class for handling drag-and-drop operations with grid cells:
-
OnGridDropTarget***()
-
OnGridDropSource***()
-
OnGridDataDndComplete()
-
CExtGridWnd now supports the standard copy, cut, paste and other commands and keyboard shortcuts. You can specify which commands are enabled by assigning a combination of __EGSA_*** flags to the CExtGridBaseWnd::m_dwSupportedAccelCommands property. The following virtual methods are added:
-
CExtGridBaseWnd::OnGbwQuerySupportedAccelCommands()
-
CExtGridBaseWnd::OnGbwAccelCommand()
-
CExtGridCell::OnAccelCommand()
-
CExtGridCell::OnAccelCommandComplete()
-
CExtGridCell::TextSetOnPaste()
-
Added a set of
CExtGridWnd::GridClipboard***() methods and CExtGridWnd::OnGridQueryClipboard***() overridables for managing the private clipboard format of a grid control. The clipboard format is used by both drag-and-drop and clipboard copy/paste features of the CExtGridWnd plain grid control and CExtFormulaGridWnd formula grid control.
-
Added
__EGWS_BSE_WALK_HORZ_NO_EDIT and __EGWS_BSE_WALK_VERT_NO_EDIT grid styles, which, when applied, disable editing the focused cell after pressing the left/right or up/down arrow key in an edited cell.
-
Added a set of the
CExtGridWnd::OnGridCellPopupListBox***() virtual methods for handling events from built-in list boxes in cells in CExtGridWnd -derived classes.
-
Added a
CExtGridWnd::OnGridFilterInplaceEditingMessageLoop() virtual method that allows you to filter out the message loop being tracked by a cell's in-place editor.
-
Added a
__EGWS_BSE_EDIT_RETURN_MOVES_NEXT_ROW grid style that sets focus on a cell in the next row when the user presses Enter on the edited cell.
-
Added a
CExtGridCellLL class that implements a geographic longitude/latitude input grid cell.
-
Added a
__EGWS_BSE_EDIT_F2_CLICK grid style that turns on in-place editor activation when F2 pressed.
-
Added a
CExtGridCell::OnQueryDrawTextFlagsForInplaceEdit virtual method that allows you to use a text alignment in the in-place activated cell editor control different from the alignment in the non-edited grid cell.
-
Added a
CExtGridCell::OnAdjustMeasureTextFlags virtual method that enables the grid cell’s text measurement control.
-
Added a
hWndParentForEditor parameter to the OnInplaceControlCreate() , OnGridCellInplaceControlCreate() and OnGbwBeginEdit() methods of the CExtGridBaseWnd class. This allows you to create the in-place cell editor window outside the grid window.
-
Added support for colored text and background printing/previewing to the
CExtPPVW template class so now all Prof-UIS grids support this feature. You can now indicate that the colors should be also applied to the printing by specifying the new __ECS_PPV constant when setting the colors using the CExtGridCell::TextColorSet() and CExtGridCell::BackColorSet() methods.
-
Added support for merged cells to the
CExtPPVW template class so the printing/print preview for the CExtGridWnd and CExtTreeGridWnd classes now supports this feature.
-
Added
bExpandedOnly and bIncludeHidden parameters to the CExtTreeGridWnd::ItemGetVisibleIndexOf() method.
-
The
CExtTreeGridWnd::ItemCellJoinAdjustCoordinates() method now allows you to find the top/left corner cells in each merged cell area in the tree grid control for further merged area modifications.
-
Added
BrowseNext() , BrowsePrev() , ItemGetNext() , ItemGetPrev() , ItemGetIndexOf() and ItemGetSiblingIndex() methods to the CExtPropertyItem class.
Controls
-
Added a
CExtLLEditWnd class that implements a geographic longitude/latitude input control with on-the-fly text validation.
-
Added a
CExtLLMapWnd class that implements a geographic longitude/latitude control that displays a world map with city markers and highlighted time zones. The control allows the user to specify a longitude and/or a latitude by selecting a map point.
-
Added a
CExtCheckComboBox class that implements a combo box with a check box next to each item in the list box. It also features an edit with a text string of concatenated checked list items separated by a locale-specific separator.
-
Added a GeoControls sample that demonstrates the features of the
CExtLLEditWnd and CExtLLMapWnd classes (see screenshot).
Miscellaneous
-
Added
__DIT_FILL_2007 and __DIT_CHAR_2007 values to the CExtBarColorButton::e_def_icon_type_t enumeration, which define a fill color icon and a character color icon for the color picker toolbar button.
-
Added
OnRibbonPrepareBarContextMenu() and OnRibbonPrepareButtonContextMenu() virtual methods to the CExtRibbonBar , which allow you to modify the default context menu over the ribbon bar.
-
Added a
CExtPopupMenuTipWnd::m_bNoHideDetection flag that keeps advanced tip windows visible.
-
Added a
CExtPopupMenuTipWnd::g_bEnableAdvTips static flag that disables all advanced tips globally.
-
Added a
CExtPopupMenuTipWnd::m_fontAdvTip property that allows you to specify a custom font for the advanced tip window.
-
The
CExtScrollItemWnd::Create() method is now virtual and its dwWindowStyle parameter’s default value is now WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | WS_CLIPCHILDREN .
-
Added
m_dwAttributeFilterAny , m_dwAttributeFilterAllPresent and m_dwAttributeFilterAllAbsent properties to the CExtShellComboBox class so that you can filter shell items. The same properties are now present in the CExtShellTreeCtrl and CExtShellListCtrl classes.
-
Added a
CExtShellDialogFile::m_pidlRoot property. The same property is now present in the CExtShellDialogBrowseFor class.
-
Added a
CExtShellDialogFile::m_bEnableButtonCreateNewFolder and CExtShellDialogFile::m_bEnableButtonDelete flags to allow you to disable persistently the Create New folder and Delete buttons in the shell file dialog.
-
Added a
CExtCmdIcon::CreateIndeterminatedSquareIcon() method.
-
Added a
CExtBitmap::FromColor() method that creates a bitmap object with a solid color and specified transparency level. Such a bitmap can be very handy for highlighting screen areas.
-
Added
m_bHandleAltKeyCodes and g_hWndEditInAltKeyCodeMode properties to the CExtEditBase , which allow you to perform and control the Alt-based character code input in the Prof-UIS edit control.
-
Added a
CExtTreeCtrl::OnTreeItemDoDragDetect() virtual method which sends a TVN_BEGINDRAG notification to the parent window of the tree control.
-
Added
g_bMRU_UseFullPathsInMenu and g_bMRU_UseFullPathsInTipTool static flags to the CExtPopupMenuWnd , which allow you to display full file paths in MRU menu items and/or tooltips displayed over them.
-
Removed the
__EXT_MB_DEFAULT_CHECKED message box style due to conflict with other styles. Added a __EXT_MB_EX_CHECK_BOX_IS_NOT_CHECKED_INTIALLY extended style instead.
-
Added a
__ETWS_EX_NO_PREFIX extended tab window style that makes tab item text painting based on the DT_NOPREFIX flag.
- The quick access toolbar's customization dialog page in the ribbon bar's options dialog now supports an independent command category with commands from the ribbon bar's file menu only.
-
The
CExtColorDlg class dialog now supports persistence for dialog window position and color selection mode.
Bug Fixes
-
Fixed incorrect scaling of printed/previewed content in the
CExtPPVW template class.
-
The
WM_MOVING and WM_SIZING messages are now supported by the windows with skinned non-client areas.
|