Version 2.84 - December 18, 2008
Version 2.84 is a release with a number of new features, enhancements and bug fixes.
List View, Tree View and Common Controls
- Added a list view control (the
CExtListCtrl class) with a themed header and themed scroll bars. It supports sorting through a new
CExtListCtrlDataSortOrder helper class, which specifies sorting rules (see screenshot).
- Added a themed header control (the
CExtHeaderCtrl class) with state persistence, built-in buttons, icons and red drag-and-drop markers. The header control is positioned above the columns in the
CExtListCtrl control (see screenshot).
- Added a tree view control (the
CExtTreeCtrl class) with themed items, hierarchical lines and scroll bars. It supports attached controls, check boxes, radio button groups, multiple item selection and disabled tree items (see screenshot).
- Added a scrollable container window (the
CExtScrollContainerWnd class), which allows you to make a resizable dialog scrollable when the latter is inside a small container or control.
- Added a simple button control (the
CExtIconButton class) displaying only an icon. Buttons of this type are used in the new Prof-UIS file dialogs mentioned below (see screenshot).
- Added a basic edit control (the
CExtEditWithBehavior class), which features controlling and validating text input.
- Added a masked edit control (the
CExtEditMasked class) (see screenshot).
- Added a themed message box (the
CExtMsgBox class), which additionally features an extended set of buttons, a timeout to close the message box, "don't show again" and "don't ask again" check boxes, a read-only edit control instead of the label for displaying the message and copying the message text into clipboard.
- Added support for cool tips to the
- Specify the tooltip text using a new
- A set of new
CExtLabel::OnAdvancedToolTip...() virtual methods allow you to control tooltip behavior on-the-fly.
- Added a
m_rcLabelTextMargins property to the
CExtLabel class, with which you can specify text margins for a label control.
- Added a
m_nStepSize property to the
CExtScrollBar class, which allows you to specify the amount the scroll box moves when you click on one of the buttons at the end of the scroll bar.
- Added sorting to the
- Turn on sorting by applying the
- Turn on sorting by multiple columns by applying the
- Specify sorting rules using a new
- Sort nested rows using a new
- Added cell merging capabilities to the
- Merge cells with a new
- Get information about merged cells using a new
- You can check if some cells can be merged using a new
OnQueryMaxDuration() methods to the
CExtGridCellDuration class, which allow you to control the duration value (in seconds) that can be entered by the user.
Tabs and Tab Page Containers
- Added support for Ctrl+PgUp, Ctrl+PgDown, Ctrl+Tab, Ctrl+Shift+Tab key combinations to the
CExtTabPageContainerWnd class, which are controlled by the following new properties:
- Added support for multiple-row layout to tab items. You can turn on this feature by applying the
__ETWS_MULTI_ROW_COLUMN style to
Shell Controls and Dialogs (Beta)
- Added a shell list view control (the
CExtShellListCtrl class) with the standard Windows context menus and support for tracking file system changes and renaming shell items (see screenshot).
- Added a shell tree view control (the
CExtShellTreeCtrl class) with the standard Windows context menus and support for tracking file system changes and renaming shell items (see screenshot).
- Added a File Open/Save dialog (the
CExtShellDialogFile class), which supports all features of the file dialogs in Windows XP/Vista and much more. It looks similar to the Windows Explorer, with a shell tree view on the left and the shell list view on the right. The state persistence is supported for the following elements and values: the window and splitter positions, selected folder in the tree view, splitter position, list view mode, column widths and sorting rules (see screenshot).
- Added a Browse for Folder dialog (the
CExtShellDialogBrowseFor class), which allows you to select a folder (see screenshot).
- Added a shell combo box (the
CExtShellComboBox class) similar to that in the standard Windows File Open/Save dialog.
- Added a File Types combo box (the
CExtShellExtensionsComboBox class) for the File Open/Save dialog.
- Added a number of classes that make easier shell-related programming:
CExtShellItemData encapsulates descriptive data pertaining to a shell item.
CExtPIDL is a handy wrapper around an
CExtArrayOfPIDLs is an array of
CExtShellBase is a base class for any shell-related classes.
- Added a
CExtDMFP template class, which when applied to the MFC
CDocManager, provides seamless integration between the MFC document/view architecture and the new Prof-UIS file dialogs.
- Improved non-client area painting, which is now faster, friendly to multi-monitor desktops and perfectly fine when MDI tile, cascade and arrange commands are executed.
- Added transparency support to the icons represented by the
CExtCmdIcon class. The transparency level can now be specified with the
nSCA parameter for the following methods:
- Because of its size, Prof-UIS requires the /Zm512 compiler option to be on.
- Updated the ProfUIS_Controls sample with the new features of this release.
- Different instances of the
CExtResourceManager in scope of one process can now be synchronized exactly like different instances of the paint manager.
- Fixed an issue with a duplicate name in the caption of the application window when there were no MDI child frames and a
CExtDynamicResizableControlBar control bar was switched into MDI state.
- Fixed a bug with an incorrect initial size of a dialog when the current UI theme used skinned window captions.
- Fixed a bug with wrong characters when typing text in an edit control using the ALT key and the numeric pad when the application was frame-based.
- Fixed a bug when a skinned window on multi-monitor desktops was resized incorrectly.
- Fixed a bug with an incorrect size of a maximized skinned window on a non-primary monitor.
- Fixed a bug when the maximized/restored position of an MDI child frame window was incorrect after executing tile/cascade commands.
- Fixed a bug when the user could still select grid cells even if selection was not enabled.
- Fixed a bug when tooltips were not displayed for some controls attached to toolbar buttons.
- Fixed an incorrect background color for disabled edit controls in an application with the Office 2007 Black theme applied.
- Fixed a bug in
CExtScrollBar when mouse clicks were not processed if the left and right mouse buttons were swapped in Windows settings.