Professional UI Solutions
Site Map   /  Register
 
 
 

Version 2.33 - May 31, 2005

Release Notes

Prof-UIS 2.33 is an intermediate release which is available only for registered users. The main new features include the property grid control, time duration control, date and time picker control, and compatibility with Visual Studio 2005 Beta 2. There are also many other new features, improvements and bug fixes, which you can read about below.

It is the last intermediate release before Prof-UIS 2.40 that will be the next major release.

What's new

  • Property grid control (the CExtPropertyGridCtrl class) for setting up and browsing properties of objects of any complexity. The property grid is similar to that available in Visual Studio .NET/2005. The properties of different types can be configured separately or in groups and can be viewed in categorized and sorted grids. Each property is implemented as a grid cell of the appropriate type with its own specific cell button and drop-down window. The CExtPropertyGridCtrl class works as a container for all its inner parts including CExtPropertyGridWnd, CExtPropertyGridWndSorted, CExtPropertyGridWndCategorized, CExtPropertyGridComboBar, CExtPropertyGridToolBar, and CExtPropertyGridTipBar classes. The property items and categories are based on the CExtPropertyItem-derived classes which can be used as a base for user-defined classes to implement dynamic binding and on-the-fly reflection for property grid events.
  • Added a new Property Grid sample application that demonstrates some of the features of the property grid control introduced in this release.
  • Time duration control (the CExtDurationWnd class) allows you to represent a length of time in days, hours, minutes, and seconds. You can select which units of time to display with the ShowItem method. The time duration value is limited to approximately 24855 days. The time unit values can be copied/pasted to/from the clipboard. They can also be changed independently of each other or can represent continuous time duration (e.g., adding one minute to 59 minutes sets the minutes to zero and adds one hour to the hours). You can work with the time duration control using keyboard arrow buttons or the embedded spin control. Please take a look at the updated version of the Prof-UIS Controls sample that shows how to use the time duration control.
  • Date and time picker control (the CExtDateTimeWnd class) provides a simple and intuitive way to exchange date and time information with the user. This class is derived from CExtDurationWnd and inherits most of its functionality. The control displays hours, minutes, seconds and the AM/PM designator in the time part and the day, month and year in the date part. The date and time picker control supports 12 and 24 time formats and can be customized to show only date, only time, and both date and time. The embedded drop-down button invokes a pop-up date picker which allows you to select the required date. Please take a look at the updated version of the Prof-UIS Controls sample that shows how to use the date and time picker control.
  • Prof-UIS now supports Visual Studio 2005 Beta 2, which means you can compile any Prof-UIS project in this IDE.
  • CExtPageNavigatorWnd::SelectionSet() now enables you to remove the current selection if you specify -1/NULL for the nIndex/pPII variable.
  • Added the __ETWS_SHOW_BTN_SCROLL_HOME and __ETWS_SHOW_BTN_SCROLL_END styles to the CExtTabWbd class and corresponding ShowBtnScrollHomeSet/ShowBtnScrollHomeGet and ShowBtnScrollEndSet/ShowBtnScrollEndGet methods to the CExtTabPageContainerWnd class. This now makes possible to show/hide Home/End buttons, with which you can jump to the first and last tabs.
  • Added the STYLE_SYSTEM style to the CExtGroupBox class which makes the group box to be drawn using the system style.
  • When Windows XP style is applied (Windows XP OS) CExtGroupBox (STYLE_SYSTEM should be turned on), CExtRadioButton and CExtCheckBox classes are now painted with themes available in Windows XP.
  • Added a new CExtPopupMenuWnd::g_nMsgPrepareOneMenuLevel registered message, which now allows you to dynamically construct any pop-up sub menu immediately before it appears on the screen.
  • CExtButton, CExtCheckBox, CextRadioButton, CExtComboBox, CExtColorPaletteWnd, and CExtEditBase classes now support multiline tooltips.
  • Added CExtButton::OnQueryMaxTipWidth, CExtComboBox::OnQueryMaxTipWidth, CExtColorPaletteWnd::OnQueryMaxTipWidth, and CExtEditBase::OnQueryMaxTipWidth virtual methods that return the maximum tooltip window width to be set. If a tooltip string exceeds the maximum width, the text is broken into multiple lines and spaces are used to determine line breaks. If the text cannot be divided into multiple lines, it will be displayed on a single line. The length of this line may exceed the maximum tooltip width.
  • Resizable control bars are now compatible with MFC's internal WF_OLECONTROLCONTAINER flag that can be set in the CWnd::m_nFlag property. This provides correct keyboard event handling for ActiveX controls that are children to resizable control bars.
  • ProfileBarStateLoad, ProfileBarStateSave and ProfileBarStateSerialize methods of the CExtControlBar class now support saving the GUI state of fixed-size control bars and resizable control bars independently of each other
  • IExtAutoWindow interface in ProfAuto now includes a new method SetCustomUiFont. This method enables you to explicitly specify the font for toolbars and menus, which is essential for complex languages like Khmer (that are not completely supported by Windows OSes).
  • Added a new class CExtGridCellString which is a simplified version of the string class used as a cell type. It is based on MFC's CString.
  • Added a new extended style __EGCS_EX_UNDEFINED_ROLE for the cell (the CExtGridCell class). This style specifies that the cell value is not displayed and an empty cell is displayed instead (used in the property grid)
  • Added new virtual methods to CExtGridWnd: OnGridCellInputComplete, OnGridCellInplaceControlTextInputComplete, OnGridCellInplaceControlCreate, OnGridCellInplaceControlPreTranslateMessage, OnGridCellInplaceControlTextInputVerify, OnGridCellInplaceControlWindowProc, OnGridCellQueryFont, and OnGbwAdjustRects. These methods allow you to control the in-place editor window in the CExtGridWnd-derived classes.
  • Added a new method CExtGridBaseWnd::OnGbwQueryCellGridLines that makes it possible to custom draw grid lines around each cell in CExtGridBaseWnd-derived classes.

Bug Fixes

  • Fixed a limitation on supported icon sizes (24x24 for expanded items and 16x16 for collapsed items) in the CExtPageNavigatorWnd class.
  • Fixed a bug in CExtPageNavigatorWnd when the width of the icon area width was always equal to 36 pixels. Now the width depends on the icon size.
  • Fixed a bug in CExtPageNavigatorWnd when insert/delete operations were performed incorrectly at runtime.
  • Fixed a bug when: the CExtStatusControlBar::WidthToContent method did not update positions of controls in other panes.
  • Fixed bug with incorrect drawing of multiline text in the CExtButton class.
  • Fixed a bug in the CExtButton::SetBkColor method.
  • Fixed a bug in tab windows when applying __ETWS_AUTOHIDE_SCROLL did not affect scroll arrows.
  • Fixed a bug in dynamic control bars when their deallocation caused application crash.
  • Fixed a bug in the CExtScrollBar class when it stuck to the parent window's side (usually the grid control) incorrectly sized.
Previous: Version 2.32