Professional UI Solutions
Site Map   /  Register

Version 2.81 - October 19, 2007

Release Notes

Version 2.81 is a minor release with a number of new features, enhancements and bug fixes.

What's New

General Features

  • Enhanced the compatibility with the High Contrast, which is a Windows accessibility feature designed for people who have vision impairment (see screenshot 1 and screenshot 2). Corrected button text in menus and toolbars, the background color of selected menu items, icons for hovered and checked menu items, colors of disabled text, toolbar painting, tabs and more.

Toolbars and Control Bars

  • Added a CExtBarButton::OnCreatePopupMenuWnd() virtual method, which allows you to control the creation of the pop-up menu displayed from a toolbar button.
  • Added caption flashing for simple (CExtControlBar) and dynamic (CExtDynamicControlBar) control bars (see screenshot). This allows you to draw the user's attention to one or more control bars when a particular event occurs. Added the following methods in the CExtControlBar class:
    • FlashCaption_DoPaintNC()
    • FlashCaption_OnRepaint()
    • FlashCaption_OnTimer()
    • FlashCaptionIsInProgress()
    • FlashCaption()
  • Added a CExtTMDBS template class, which when used with CExtTabMdiWnd, allows you to flash tab items associated with dynamic control bars switched into document mode.


  • Changed the base class of CExtGridCellUpDown to CExtGridCellNumber, moved all the functionality of CExtGridCellUpDown to CExtGridCellVariant so this functionality is now available in all CExtGridCellVariant-derived cell classes.
  • Improved the CExtGridCellScientific class so now the in-place editor can initialized with a value in exponential form. This allows you to edit extremely large and small values which cannot be edited in normal form.
  • Improved the CExtGridCellComboBox so now when the user is typing a letter in the combo box grid cell, the first item in the combo list whose text begins with this letter will be selected. This also works if the the pop-up list box is open. If there are several items beginning with the same letter, they are selected cyclically when the user keeps typing the same letter. This behavior is identical to that in the standard combo box.
  • Added a __EGCS_EX_AUTO_SIZE_INPLACE_CONTROL extended cell style, which allows you to make CEdit-based in-place editors auto-resizable (see screenshot). That is when the user is typing in and there is no room for text, the editor width is getting increased as the text size. Added the following methods in the CExtGridCell class:
    • virtual bool OnQueryAutoSizeInplaceControl()
    • bool AutoSizeInplaceControlGet()
    • void AutoSizeInplaceControlSet()
  • You can now hide particular rows and/or columns when printing or print previewing a grid control. Added a __EGCS_EX_PPVW_HIDDEN extended cell style and the following methods:
    • CExtGridCell::HiddenInPrintPreviewGet()
    • CExtGridCell::HiddenInPrintPreviewSet()
    • CExtGridWnd::OnGridQueryPpvwVisibilityForColumn()
    • CExtGridWnd::OnGridQueryPpvwVisibilityForRow()
    • CExtTreeGridWnd::OnTreeGridQueryPpvwVisibilityForItem()
  • Added a CExtTreeGridWnd::ItemSetCell() method, which allows you to re-instantiate or erase grid cells in the tree grid (CExtTreeGridWnd) and report grid (CExtReportGridWnd).
  • Changed the way of setting focus when expanding/collapsing a tree grid item (the CExtTreeGridWnd::ItemExpand() method). Now focus changes only if it was set on one of child items that get collapsed.

Common Controls

  • Added support for disabled items in the CExtComboBoxBase class (see screenshot):
    • CExtComboBoxBase::LbItemIsEnabled()
    • CExtComboBoxBase::LbItemEnable()
    • CExtComboBoxBase::LB_ITEM::IsEnabled()
    • CExtComboBoxBase::LB_ITEM::Enable()
    The disabled items cannot be selected by the user. When the Owner Draw style is applied to the combo box, the disabled items are grayed out.
  • Added support for a custom bitmap in the CExtLabel class:
    • GetBitmapEx()
    • SetBitmapEx()
    • GetImageMode()
    • SetImageMode()
    The CExtLabel::SetImageMode() allows you to align, tile, or stretch the bitmap. Because the bitmap is based on CExtBitmap, you can use any 32-bit bitmaps with alpha channel.
  • Improved the CExtLabel class so it now correctly supports the SS_ENDELLIPSIS and DT_PATH_ELLIPSIS styles (see screenshot1 and screenshot2) .
  • The text color and background color of the edit part of the CExtComboBoxBase are now synchronized with the colors you can set for the combo box by using the CExtComboBoxBase::SetBkColor() and CExtComboBoxBase::SetTextColor() methods. This was achieved by adding OnQueryBackColor() and OnQueryTextColor() virtual methods to the CExtEditBase class.

Page Navigator

  • Added ShowConfigButton() and IsConfigButtonVisible() methods to the CExtPageNavigatorWnd class, which allow you to control the visibility of the Configure buttons button (see screenshot).


  • Added a CalcWindowRect() method in the CExtNCW template class, which allows you to compute the entire window rectangle for windows with the skinned non-client area as the CWnd::CalcWindowRect() method does this for simple windows.
  • Win32 APIs are no longer used in the CExtResourceManager class for loading bitmap resources. The CExtBitmpap class is used instead, which guarantees 32-bit bitmaps with alpha channel will always be loaded correctly.
  • Added RTL support for non-client areas when Office 2007 themes are used.

Bug Fixes

  • Fixed a bug in CExtLabel when the SS_NOPREFIX style did not work.
  • Fixed a bug in CExtSliderWnd when its background was not updated after changing the theme or calling the UpdateSlider() if the control was disabled.
  • Fixed a bug in CExtPopupUndoRedoMenuWnd when the OnPopupUndoRedoFormatCaption() was not invoked when needed.
  • Fixed a bug with a dialog shortcut defined in the label's text in CExtLabel. When such a shortcut is pressed, the focus should be moved to the next control according to the tab order.
  • Fixed a bug in CExtComboBoxBase. When a combo box was used in a dialog and the combo box was focused, dialog shortcuts did not work.
  • Fixed a bug in CExtComboBoxBase with an incorrect background color when the combo box had the Owner Draw style and some custom color was specified.
  • Fixed some issues with AutoComplete in CExtComboBoxBase when the drop-down list box was open.
  • Fixed a bug in CExtTabPageContainerWnd when CFormViews placed in the tab page container did not work correctly.
  • Fixed a bug in CExtGridCellObjectSize when trailing zeroes were removed incorrectly in some cases.
  • Fixed a bug with incorrect size and layout of CExtPopupDatePickerMenuWnd and CExtDatePickerWnd controls when a large font/DPI was set in Windows seetings.
  • Fixed a bug in CExtGridCellCheckListComboBox box when the values were not parsed correctly in Unicode builds.
  • Fixed a layout problem in CExtReportGridWnd when small-width columns were incorrectly intersected with the tree indent area.
  • Fixed a problem with blurry font in CExtCheckListWnd.
  • Fixed a bug when a skinned window did not restore its position correctly after it was minimized it through the Show Desktop button in the Quick Launch toolbar.
  • Fixed a bug in CExtControlBar when the user could press the left mouse button somehere ouside the control bar, release the mouse over a button in the caption of the control bar, and that was as though the user clicked the button.
  • Fixed a bug in CExtGridWnd when a tip window was shown over a header cell even there was enough room to fit the cell content.
  • Fixed a bug in CExtGridInplaceEdit, when the user can delete the selected text in the activated in-place editor for a read-only grid cell.
  • Fixed a bug in CExtRibbonBar with an incorrect layout when using Large Fonts.
  • Fixed an issue when the scrolling position in a tree grid inside CExtProrertyGridCtrl was not set to top after adding a new property store.
  • Fixed a bug when text on vertical tab items was painted incorrectly on Windows 95/98.
  • Fix a bug in CExtRibbonBar when the two-color text in the caption got corrupted if DWM was turned off.
  • Fixed a bug in CExtTabWnd with incorrect processing of clicks on the Close ("X") button.
  • Fixed a number of other bugs and issues
Previous: Version 2.80