Professional UI Solutions
Site Map   /  Register

Version 2.80 - July 19, 2007

Release Notes

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

What’s New

General Features

  • Added support for Microsoft Visual Studio 9.0 Codename "Orcas" (Beta). You can now compile any Prof-UIS project and sample using this IDE. The Application Wizard and Integration Wizard were also updated so that you can build the Prof-UIS library and create new Prof-UIS projects with Visual Studio 9.0.

Toolbars and Control Bars

  • Added support for multiline text in toolbar buttons (see screenshot): GetMaxButtonWidth(), SetMaxButtonWidth(), and OnQueryMaxButtonWidth() methods. To make a toolbar button multiline, use its SetMaxButtonWidth() method to set a maximum width so the button text can wrap when it is too long. Besides, you can forcibly break a line by using a space character or a CRLF.
  • Added GetDrawBorder() and SetDrawBorder() methods to the CExtBarButton class with which you can specify if a one pixel border around the toolbar button should be drawn or not when it is hovered over. By default, the border is on.
  • Added a set of methods to the CExtBarButton classes so that you can control the alignment and margins of the icon and text of the toolbar button (see screenshot).
  • Added tooltip support for disabled toolbar buttons. Now a tooltip is displayed regardeless of whether the button is enabled or disabled (see screenshot). You can change this behavior by overriding the following two methods: CExtBarButton::IsShowTipWhenDisabled() and CExtToolControlBar::IsShowTipWhenDisabled().
  • Improved alignment, measuring and background painting of the buttons in the menu bar when it is docked horizontally (see screenshot) and vertically (see screenshot).

Tree Grid

  • Added a CExtTreeGridWnd::ItemEnsureVisibleBranch() method which, when a tree item is collapsed and the user clicks it to expand its child item, the content of the tree grid window is scrolled in such a way that ensures the visibility of expanded child items as much as possible.

Common Controls

  • Added a SubclassChildControls() global function for subclassing standard controls with Prof-UIS controls. Now, if you have a dialog with controls, you can subclass all these controls by using a single invocation of this function. The list of standard controls that can be subclassed with SubclassChildControls() includes:
    • Static
    • Edit
    • Combo box
    • Push button
    • Check box button
    • Radio button
    • Group box
    • Progress
    • Scroll bar
    • Spin button
  • The SubclassChildControls() global function also eliminates the potential problem of a wrong tab order for the controls used in CExtGroupBox (read this FAQ article).
  • Added a SubclassChildControls() method to the CExtWS template for subclassing standard controls in the window to which this template is applied. You can use it instead of invoking the SubclassChildControls() global function directly. You should invoke this method after the window is created. One more way to subclass standard controls in CExtWS-wrapped windows is just to invoke SetAutoSubclassChildControls(true) before the window is created.
  • Added a set of methods to the CExtButton and CExtBarButton classes so that you can control the alignment of the icon (see screenshot) and text (see screenshot) of the push button and toolbar button:
    • OnQueryAlignmentText()
    • OnQueryAlignmentIcon()
    • GetTextAlignment()/SetTextAlignment()
    • GetIconAlignment()/SetIconAlignment()
  • Added a set of methods to the CExtButton and CExtBarButton classes so that you can control the margins of the icon and text of the push button and toolbar button:
    • OnQueryMarginsText()
    • OnQueryMarginsIcon()
    • GetTextMargins()/SetTextMargins()
    • GetIconMargins()/SetIconMargins()
  • Added a e_ButtonFocusMode_t enumeration to the CExtPaintManager class. It defines how the focus rectangle on a button is drawn, around the whole button or just around its text (see screenshot). You can set and get it by using the GetFocusMode() and SetFocusMode() methods of the CExtButton class.
  • Updated the Buttons page of the Prof-UIS_Controls sample. You can now see how to change the alignment and margin properties of the text and icon in a button (see screenshot).
  • Updated the Date & Time page of the Prof-UIS_Controls sample. You can now see now to specify if the selected field in the duration control should remain selected or not after the control loses focus (the NoHideSelectionGet() and NoHideSelectionSet() methods of the CExtDurationWnd class) (see screenshot).


  • The resizing gripper is now hidden when a CExtResizableDialog dialog is set to be not resizable (the Border property of the dialog resource is set to any value but Resizing).
  • 64-bit __int64 and unsigned __int64 integer values in the VARIANT data structure are now supported on old Windows versions. 64-bit VARIANT values are often used in grid cells.
  • Updated the documentation.

Bug Fixes

  • Fixed a bug in the CExtEdit control. When it was used on Windows Vista, multiline text disappeared when the user was hovering the mouse pointer over the text.
  • Fixed a problem when the library and some samples could not be compiled if the __EXT_MFC_ENABLE_TEMPLATED_CHARS macro was declared.
  • Fixed a bug in the context menu displayed over toolbar buttons and menu items when the Customize dialog was open. The icon on a toolbar button or on a menu item did not change when the user selected a new icon from the palette menu.
  • Fixed a bug in a pop-up menu when a certain order of actions caused the pop-up menu to hang up.
  • Fixed a bug when the SetWindowText() Win32 API did not work for the window caption with an Office 2007 theme applied.
  • Fixed a bug in the CExtPropertyGridCtrl::OnPgcContextMenuTrack() method when the user right clicked the empty area of the property grid control.
  • Fixed a bug with multiline text cells in the report grid.
  • Fixed a bug in the pop-up date picker control. The application crashed when the user selected a month in the pop-up window displayed over the calendar header.
  • Fixed an incorrect and very light text color in the read-only grid cells.
  • Fixed some other minor bugs.
Previous: Version 2.70