Professional UI Solutions
Site Map   /  Register
 
 
 

Version 2.42 - July 27, 2005

Release notes

Prof-UIS 2.42 is an intermediate release which is available only for registered users. The new features, improvements and bug fixes are mainly made based on requests from our customers. The new features include the tear-off menu, palette menu, new grid cell classes, and much more.

What's New

  • The CExtPopupMenuWnd class now supports the tear-off menu demonstrated in the StyleEditor sample application.
  • Added new methods related to tear-off menus:
    • CExtControlBar::FindTearOffBar() - searches the control bar which is used as a tear-off control bar for the specified menu item
    • CExtControlBar::TearOffCommandGet() - gets an identifier of the menu item which displays a tear-off pop-up menu that corresponds to the control bar
    • CExtControlBar::TearOffCommandSet() - sets an identifier of the menu item which displays a tear-off pop-up menu that corresponds to the control bar
  • Added CExtCmdItem::StateSetTearOff() and CExtCmdItem::StateIsTearOff() methods to the CExtCmdItem class, with which you can mark/unmark a command item as a tear-off menu item or toolbar button.
  • Prof-UIS now supports the palette menu which is demonstrated in the ProfUIS Controls sample application (Popup menus and Menubar and Toolbars tabs).
  • Added a new TPMX_PALETTE tracking flag to the CExtPopupMenuWnd class, which produces a layout like that of the floating toolbar or pop-up menu invoked from the toolbar's chevron button in Microsoft Office applications. The palette menus are now displayed from toolbar chevron buttons by default. Here are new methods added to the CExtPopupMenuWnd and CExtToolControlBar classes:
    • CExtPopupMenuWnd::ItemRemoveAllSeparators() - removes all the separators from the pop-up menu
    • CExtPopupMenuWnd::ResetPaletteWrapping() - removes the wrap flag for all the palette menu items
    • CExtPopupMenuWnd::ItemPaletteRowWrapGet() - sets the wrap flag for the palette menu item
    • CExtPopupMenuWnd::ItemPaletteRowWrapSet() - gets the wrap flag for the palette menu item
    • CExtPopupMenuWnd::ItemToolLayoutGet() - returns true if the menu item has a layout of a toolbar button
    • CExtPopupMenuWnd::ItemToolLayoutSet() - sets a boolean value that indicates whether the menu item has a layout of a toolbar button
    • CExtPopupMenuWnd::TrackFlagsGet() - returns a set of TPMX_ flags applied to the pop-up menu
    • CExtPopupMenuWnd::TrackFlagsSet() - sets TPMX_ flags applied to the pop-up menu
    • CExtPopupMenuWnd::ItemEnabledGet() - returns true if the menu item is enabled
    • CExtPopupMenuWnd::ItemEnabledSet() - makes the menu item enabled/disabled
    • CExtPopupMenuWnd::ItemBoldGet() - returns true if the menu item's text is bold
    • CExtPopupMenuWnd::ItemBoldSet() - makes the menu item's text bold or removes bold formatting
    • CExtPopupMenuWnd::ItemEnabledAppearanceGet() - returns a boolean value that indicates whether the menu item is displayed as enabled regardles of whether it is enabled or disabled
    • CExtPopupMenuWnd::ItemEnabledAppearanceSet() - sets a boolean value that indicates whether the menu item is displayed as enabled regardles of whether it is enabled or disabled
    • CExtToolControlBar::IsPaletteChevronMenu() - returns a boolean value that indicates whether the toolbar's chevron button should display a palette menu instead of the classic pop-up menu with a vertical list of menu items
  • The context menu over menu items and toolbar buttons when the Customize dialog is open now allows you to invoke the palette submenu with icons (see any customizable sample application, eg. DrawCli, for details).
  • The CExtCmdManager::CmdRemoveByMask() and CExtCmdProfile::CmdRemoveByMask() methods now allow you to specify an extended flag mask for removing CExtCmdItem objects.
  • Added the copy constructor and operator = to the CExtWndShadow class.
  • Added PageFindByHWND() and PageEnsureVisible() methods to the CExtTabPageContainerWnd class, with which you can find a specific page in the tab page container and make the corresponding tab at least partially visible.
  • Added __ETWI_DISABLED tab item style and EnabledSet()/EnabledGet() methods to the CExtTabWnd::TAB_ITEM_INFO class, with which you enable/disable tab items.
  • Added PageEnabledSet/PageEnabledGet methods to the CExtTabPageContainerWnd class, with which you can enable/disable pages in the tab page container.
  • Added PageVisibleSet/PageVisibleGet methods to the CExtTabPageContainerWnd class, with which you can show/hide pages in the tab page container.
  • Added SetAlign()/GetAlign methods to the CExtDurationWnd class, with which you can control text alignment within the control.
  • Added a new CExtGridCellUpDown class, which implements a spin edit cell.
  • Added a new CExtGridCellHyperLink class, which implements a hyperlink cell.
  • Added a new CExtGridCellCheckBox class, which implements a three-state check box cell.
  • Added a new CExtGridCellRadioButton class, which implements a radio button cell.
  • All grid cell buttons are now consistent with the currently applied GUI theme.
  • Added TextColorSet()/TextColorGet() and BackColorSet()/BackColorGet() methods to the CExtGridCell class, which allow you to specify text and background colors for the grid cells in the normal, hovered and selected modes.
  • Added new handy CExtGridBaseWnd::OnGbwQueryBackColor() and CExtGridCell::OnQueryBackColor() overridables, with which you can now control the background color of the grid window and grid cells.
  • Added a new CExtGridCellEx class which supports the background color and serves as a base class for the classes as follow: CExtGridCellIPAddress, CExtGridCellString, CExtGridCellHeader, CExtGridCellColor, CExtGridCellVariant, CExtGridCellBool and CExtGridCellFont.
  • Added a new dwHelperPaintFlags parameter to the CExtGridCell::OnQueryCellFont() method. This parameter specifies cell hover and selection states.
  • Added a new dwHelperPaintFlags parameter to the CExtGridWnd::OnGridCellQueryFont() method. This parameter specifies cell hover and selection states.
  • The CExtGridCell::OnSetCheck() method now has a nCheck numeric parameter, which allows you to specify the checked, un-checked and indeterminate check box states. Previously this parameter was boolean.

Bug Fixes

  • Fixed a minor bug in the CExtDurationWnd::Create() method which appeared in its overrides in come cases.
  • Fixed a bug when multiline tooltips did not display.
  • Fixed a bug in the CExtEditBase class which caused invalid text drawing in the edit field.
  • Fixed an endless loop bug found in the CExtPropertyItem::GetStore() method.
  • Fixed a bug with drop-down buttons in the chevron menu when the drop-down area was not painted correctly.
  • Fixed a bug with painting the content of the CExtEditBase window related to the WM_CTLCOLOR message reflection.
Previous: Version 2.40