Raize Components 4.x All Modifications The following is a list of all of the modifications that have been made for all builds of Raize Components Version 4. -------------------------------------------------------------------------------- Build: 4.3.2 Date: 04 Nov 2007 -------------------------------------------------------------------------------- Raize Components Help * The help documenation has been updated to reflect all new properties, methods, and events added to the components since the initial 4.0 release. * Help documentation for CodeGear RAD Studio 2007 (including Delphi 2007 and C++Builder 2007) is provided and automatically integrated into the IDEs. RzCmboBx.pas * Reverted drawing code for TRzComboBox and descendants for drawing the drop down buttons when Vista/XP themes are in use. RzCommon.pas * Added new SpecialFolder property to TRzRegIniFile component. This property is used when PathType=ptIniFile in order to specify a special location for the ini file. SpecialFolder can be set to one of the following values: sfNone: Default. Location determined by Path property (see below). sfUserAppDataRoaming: The user's Application Data directory that supports roaming is used. Under XP this is typically: C:\Documents and Settings\\Application Data Under Vista this is typically: C:\Users\\AppData\Roaming sfUserAppDataLocal: The user's Application Data directory for data that is local to the machine. Under XP this is typically: C:\Documents and Settings\\Local Settings\Application Data Under Vista this is typically: C:\Users\\AppData\Local sfUserDocuments: The user's Documents directory. Under XP this is typically: C:\Documents and Settings\\My Documents Under Vista this is typically: C:\Users\\Documents sfProgramData: The directory associated with storing data for all users of a system. Under XP this is typically: C:\Documents and Settings\All Users\Application Data Under Vista this is typically: C:\ProgramData The actual file that is used depends on the Path property. If Path is empty, the ini file has same name as Application.ExeName but with an '.ini' extension. If Path is not empty, and specifies just a filename, then the specified filename is used and the file is located in the directory specified by SpecialFolder. If Path is not empty and specifies a full path and filename, then the specified full path and filename are used for the ini file. * Updated the DrawCloseX method to make the X symbol a little smaller. This method is used by the TRzPageControl and TRzTabControl to draw the tab- close button. RzDBEdit.pas * A blank TRzDBDateTimeEdit no longer automatically sets its Date property to the current date when the calendar is dropped down. RzEdit.pas * Reverted drawing code for TRzDateTimeEdit and TRzColorEdit for drawing the drop down buttons when Vista/XP themes are in use. * A blank TRzDateTimeEdit no longer automatically sets its Date property to the current date when the calendar is dropped down. RzGroupBar.pas * Added the public property TopItem to the TRzGroup class. This property is used when the group's Style property is set to gbsOutlook, and specifically controls the item that is displayed at the top of the group. The scroll buttons that appear in a gbsOutlook style group internally change the top item index value. The new TopItem property provides programmatic access to this same value. * If an item is partially visible in a gbsOutlook style group in a TRzGroupBar and the item is clicked, after the click event is processed, the TopItem property is adjusted so that the clicked item is completely in view. * Fixed problem where the initial position of a scroll bar in a TRzGroupBar would be positioned at the bottom of the view on startup if there were more groups than could fit in the current view. RzListVw.pas * Added OnDrawHeader event. This event is fired when the header needs to be drawn and HeaderDefaultDrawing is set to False. * The OnContextPopup event now correctly fires when right-clicking on an empty portion of the TRzListView. RzRadChk.pas * Fixed issue where the background color of a TRzRadioButton or TRzCheckBox would not get updated when changing the Color property at runtime. * Fixed problem in TRzRadioButton where the border would have artifacts if the control was placed on a gradient background and was transparent and running under XP/Vista themes. RzShellIntf.pas * Updated initialization and finalization of RzShellIntf unit to ensure that _CoUninitialize gets called appropriately according to the updated MSDN documentation. RzTabs.pas * Removed the Vista/XP theme styling from the Scroller, Menu, and Close buttons of the TRzPageControl and TRzTabControl. This was necessary because the Vista theme elements for the various buttons were no longer consistent as they were in XP. -------------------------------------------------------------------------------- Build: 4.3.1 Date: 21 Sep 2007 -------------------------------------------------------------------------------- RzDBEdit.pas * Fixed issue where displaying a TRzDBEdit that was not connected to a DataField would result in an Access Violation. RzGroupBar.pas * Added a new IgnoreSelectedItemClick property to the TRzGroup. By default this property is True and is tied to the functionality added in version 4.3, where a selected item would not generate another OnClick event if the item was clicked again. Setting the IgnoreSelectedItemClick property to False, causes the TRzGroup to generate OnClick events each time the item is clicked. * Fixed problem where clicking an item in a TRzGroup would not invoke the OnClick event if the group was not positioned at the top of the TRzGroupBar. * As a result of the new scrolling design introduced in 4.3 it was possible to move and reposition groupss such that the groups were no longer arranged appropriately. This has been fixed. * The group bar not rearranging groups when a group was hidden was also related to the above issue. This too has been fixed. RzShellCtrls.pas * Added Portugal Portuguese translations for Shell strings. RzSplit.pas * Fixed issue where resizing a TRzSplitter that had its HotSpotVisible property set to True and FullRepaint set to False would result in display artifacts on the splitter bar. -------------------------------------------------------------------------------- Build: 4.3 Date: 13 Sep 2007 -------------------------------------------------------------------------------- RzBHints.pas * Added new CenterThreshold property to TRzBalloonHints. This property is used to determine if a control is small enough so that balloon hints shown for the control will be centered to the control as opposed to being shown near the mouse cursor. The default value of 80 should be sufficient for general use as toolbar buttons and other small controls will meet this threshold and have their hints centered. * Fixed issue where balloon hints would span monitors in a multi-monitor system. RzButton.pas * Updated display of disabled text in TRzButton and descendants. * Update the TRzControlButton (which is used by TRzButtonEdit, TRzSpinEdit, and other controls) such that when the button's symbol is drawn (e.g. drop-down arrow), if the background color is close to the symbol color, the symbol color is altered so that it remains visible. RzCheckListTabStopEditor.pas * Increased the range of tab stop positions in the Tab Stop Editor from 100 to 200. RzCmboBx.pas * Fixed issue where the dropdown button in TRzComboBox and descendants would get drawn themed even if the FramingPreference was set to fpCustomFraming. RzDBCmbo.pas * Added AutoDropDown property to TRzDBLookupComboBox. RzDBEdit.pas * TRzDateTimeEdit and TRzColorEdit now handle the F4 key to drop down their respective panels. * Updated TRzDBEdit.Alignment property to allow the taCenter setting. This allows TField.Alignment settings of taCenter to be honored when connected to a TRzDBEdit. RzDBGrid.pas * Added new QuickCompare property to TRzDBGrid, which provides a fast and simple way to highlight specific records in the dataset by comparing a specified field in each record with a value. The QuickCompare property has several sub-properties for specifying the criteria of the comparison and the resulting affect on the grid's display: QuickCompare.Active Controls whether QuickCompare is performed. QuickCompare.FieldName Name of field in dataset used in comparision. QuickCompare.FieldValue Value used in comparison QuickCompare.Operation Specifies the type of operation: qcoEqual, qcoLessThan, qcoLessThanOrEqual, qcoGreaterThan, qcoGreaterThanOrEqual, qcoNotEqual QuickCompare.Color Color of record if comparison is successful QuickCompare.FontColor Font color of record if comparison is successful * Added new AltRowShading, AltRowShadingColor, and AltRowShadingFixed properties to TRzDBGrid. When AltRowShading is set to True, the background color of alternate rows in the grid are shaded using the AltRowShadingColor. The AltRowShadingFixed property controls whether or not the shading remains fixed as you scroll through the grid. RzEdit.pas * TRzDateTimeEdit and TRzColorEdit now handle the F4 key to drop down their respective panels. * Updated TRzEdit.Alignment property to allow the taCenter setting. * Fixed issue where the dropdown button in TRzDateTimeEdit and TRzColorEdit would get drawn themed even if the FramingPreference was set to fpCustomFraming. * Fixed issue where buttons in the dropped down Calendar and TimePicker (in TRzDateTimeEdit) would get drawn themed even if the FramingPreference for the edit was set to fpCustomFraming. RzGroupBar.pas * Redesigned the way scrolling is performed in the TRzGroupBar. The result is that scrolling a TRzGroupBar with several groups no longer results in excessive flicker and delayed painting. * As a result of the above change, the TRzGroupBar.PositionGroups method was moved to the protected section. If you were calling this method, you need to replace the call with the new TRzGroupBar.UpdateLayout method. * Added new methods BeginUpdateLayout and EndUpdateLayout to TRzGroupBar. These methods are useful when you need to make a lot of changes to a TRzGroupBar that result in changes to group layout. For example, adding a lot of new groups to the TRzGroupBar. Wrap the changes in calls to BeginUpdateLayout and EndUpdateLayout to boost performance. * The TRzGroupBar.ShowEntireGroup method was made public. * Fixed problem where removing the first group in a gbsOutlook style TRzGroupBar would raise an "Index out of Range" exception if the group bar contained just two groups. * Added a new default value for the TRzGroup.ItemSelectionStyle property: issImageAndCaption. With this new style, when the ShowItemSelection property is set to True, the selection bar is drawn around both the caption and image of the selected item. * When the ShowItemSelection property is set to True--indicating a mutually exclusive mode, if the currently selected item is clicked again, the associated OnClick event or action is NOT fired a second time. This behavior makes it more compatible with other mutually exclusive lists of items such as radio buttons. * Fixed problem where you could not turn off TRzGroupBar.UniqueItemSelection once you set it to True. * Fixed problem where you could not set the TRzGroup.ItemIndex property to 0, which represents the first item in the group. * Updated TRzGroup.ItemAtPos method to check the Visible property of an item before checking mouse position. RzLabel.pas * Updated display of disabled text in TRzLabel and descendants. RzLstBox.pas * Fixed issue in TRzListBox where setting the ItemHeight to a larger value than the default would not get honored if ShowGroups was set to True. * Fixed display issue that resulted in Group captions not being drawn vertically centered in the group. * Fixed issue where hints would not be displayed for an item that was indeed clipped in a TRzCheckList. * Fixed hint window positioning for long items in a TRzCheckList. RzPanel.pas * Updated display of disabled text in TRzPanel, TRzGroupBox, and descendants. RzPopups.pas * Updated TRzPopupPanel.Popup to handle situations where MonitorFromPoint returns nil. * Fixed issue in TRzCalendar that would cause a conversion exception to be raised when changing the Year spinner to year 1 or 0. * The TRzCalendar now monitors the current date, and when the date changes, the display is updated to reflect the new value for "Today". * The TRzCalendar.OnGetDayFormat event now only fires for days that are visible in the calendar. For example, if ceFillDays is removed from the Elements set, then the OnGetDayFormat event is not raised for the fill dates as it was in previous versions. * The Today and Clear buttons are now swapped when running under right-to-left (RTL) systems. * Abbreviations for day names when running on Hebrew systems has been updated to reflect that all Hebrew day names have the same prefix. RzSplit.pas * Fixed display issue in TRzSplitter where the splitter mask would appear in the wrong location if the control was aligned to alRight, alBottom, or alNone. RzStatus.pas * Fixed problem where TRzKeyStatus.InsertState was not updating correctly as the state of the Insert key changed. * Updated display of disabled text in TRzStatusPane and descendants. * The captions in TRzStatusPane and descendants are now drawn correctly when running under right-to-left (RTL) systems. RzTabs.pas * Added new GetExtentOfAllTabs method to TRzPageControl and TRzTabControl. This method returns the number of pixels needed to display all of the visible tabs in the control taking into account orientation and layout of the tabs. That is, for tab positions of top and bottom, the extent returned represents the width required. For tab positions on the left or right, the extent represents the height required. * Added new OnScrolledTabs event to TRzPageControl and TRzTabControl. This event gets fired when the tabs are scrolled by clicking the scroll buttons. * Added new TabIndexInView method to TRzPageControl and TRzTabControl. This method determines if the specified tab index is currently in view, or has been hidden because it has been scrolled out of view. * Updated display of disabled text in TRzPageControl and TRzTabControl. RzTreeVw.pas * Added new PathDelimiter property to TRzTreeView and descendants. -------------------------------------------------------------------------------- Build: 4.2.1 Date: 07 Jun 2007 -------------------------------------------------------------------------------- Updated theme related header files to eliminate compatibility issues with other VCL products that support themes in C++Builder. RzCmboBx.pas * Changed the way the TRzComboBox handles the Escape key. In previous versions, when the combo box was in csDropDownList mode and the drop down list was not displayed, pressing Escape would cause the ItemIndex property to be changed to the first item in the list. When the combo box was in csDropDown or csSimple mode, pressing Escape set ItemIndex to -1, thus clearing the display. Starting with this version, pressing the Escape key in the TRzComboBox will close the drop down list if it is visible. In addition, pressing Escape will clear the current search string entered by the user for AutoComplete. However, pressing Escape no longer modifies the ItemIndex property. RzEdit.pas * Fixed problem in TRzDateTimeEdit where certain time values were being mis-interpreted as date values and were thus raising exceptions. RzDBEdit.pas * Fixed problem in TRzDBDateTimeEdit where certain time values were being mis-interpreted as date values and were thus raising exceptions. -------------------------------------------------------------------------------- Build: 4.2 Date: 29 May 2007 -------------------------------------------------------------------------------- RzBmpBtn.pas * Surfaced Align property in TRzBmpButton. RzCmboBx.pas * Fixed issue where setting TabOnEnter to True and pressing Enter would not change the focus to the next control if the TRzComboBox was ReadOnly. * Modified the code that creates the Font Preview Panel in TRzFontComboBox to only occur at runtime. This was necessary because the Delphi 2007 IDE was making the hidden panel visible at design-time. RzDBEdit.pas * Added an OnInvalidDate event to TRzDateTimeEdit. This event is fired when the user enters an invalid date value (e.g. 4/55/2007) and the control loses keyboard focus. In previous versions, the control would display the "0" date, which is "12/30/1899". Starting with this version, the default behavior in this situation is to blank out the date, which is essentially the same as before except the 12/30/1899 date is not displayed, which is much more noticeable to users. However, the new OnInvalidDate event gives developers much more control over what happens in this situation. Specifically, OnInvalidDate event handlers are passed 3 variable parameters: KeepFocused, KeepInvalidText, and NewDate. Set KeepFocused to True in the event handler to keep the focus on the control. What appears in the control depends on the other two parameters. Set KeepInvalidText to True to have the control continue to display the invalid text the user entered. When KeepInvalidText is True, it is implied that focus is to be kept on the control. If KeepInvalidText is False, then the NewDate parameter controls what appears to replace the invalid date. By default NewDate is 0, which means the date gets blanked out. Setting NewDate to some other value causes the invalid date to be changed to the date specified, regardless of whether focus stays on the control or not. The OnInvalidDate event handler can also be used to display a message box (or some other indicator) to the user that an invalid date has been entered. * Fixed problem where plus and minus keys would change the date/time of a TRzDateTimeEdit even when the control's ReadOnly property was set to True. * Fixed problem where TRzDBNumericEdit would accept alphabetic characters when IntegersOnly was set to False. RzDBNav.pas * Completely redesigned the TRzDBNavigator. Instead of descending from TDBNavigator, the TRzDBNavigator now descends from TRzCustomPanel and completely implements the functionality of the data-aware navigator strip. As such, the TRzDBNavigator inherits the advanced display features of TRzPanel (e.g. VisualStyle, Gradients, Transparency, etc.) In addition, the navigator buttons are instances of TRzToolButton components and thus fully support XP/Vista themes as well as gradient visual styles. The new ButtonSelectionColorStart, ButtonSelectionColorStop, ButtonSelectionFrameColor, ButtonGradientColorStyle, and ButtonVisualStyle properties allow controlling the appearance of the buttons. RzEdit.pas * Added an OnInvalidDate event to TRzDateTimeEdit. This event is fired when the user enters an invalid date value (e.g. 4/55/2007) and the control loses keyboard focus. In previous versions, the control would display the "0" date, which is "12/30/1899". Starting with this version, the default behavior in this situation is to blank out the date, which is essentially the same as before except the 12/30/1899 date is not displayed, which is much more noticeable to users. However, the new OnInvalidDate event gives developers much more control over what happens in this situation. Specifically, OnInvalidDate event handlers are passed 3 variable parameters: KeepFocused, KeepInvalidText, and NewDate. Set KeepFocused to True in the event handler to keep the focus on the control. What appears in the control depends on the other two parameters. Set KeepInvalidText to True to have the control continue to display the invalid text the user entered. When KeepInvalidText is True, it is implied that focus is to be kept on the control. If KeepInvalidText is False, then the NewDate parameter controls what appears to replace the invalid date. By default NewDate is 0, which means the date gets blanked out. Setting NewDate to some other value causes the invalid date to be changed to the date specified, regardless of whether focus stays on the control or not. The OnInvalidDate event handler can also be used to display a message box (or some other indicator) to the user that an invalid date has been entered. * Fixed problem where plus and minus keys would change the date/time of a TRzDateTimeEdit even when the control's ReadOnly property was set to True. * Fixed problem where TRzNumericEdit would accept alphabetic characters when IntegersOnly was set to False. RzListVw.pas * Added custom code to handle displaying InfoTip hints in the TRzListView. This was necessary because the list view common control does not handle displaying hints with regions, which can occur if TRzBalloonHints is used with ShowBalloon set to True. The OnInfoTip events works the same way as before. RzLstBox.pas * Modified the code that creates the Font Preview Panel in TRzFontListBox to only occur at runtime. This was necessary because the Delphi 2007 IDE was making the hidden panel visible at design-time. RzPanel.pas * Fixed display problem in the Caption of a TRzGroupBox that would occur when using a non-standard XP theme. RzRadChk.pas * Fixed problem where TRzCheckBox would display slowly under certain conditions under Windows Vista. RzShellCtrls.pas * Fixed problem where setting sloHideFoldersWhenLinkedToTree option to True, zip files would get hidden. RzSplit.pas * Fixed display issue in TRzSplitter and TRzSizePanel that caused slow updating of sizing bar when running under Windows Vista with Aero Glass interface. * Fixed issue where hot spot in TRzSizePanel would not appear active the first time the user moved the mouse over the hot spot. * Fixed issue where calling CloseHotSpot would not honor the HotSpotIgnoreMargins property value. RzSpnEdt.pas * Surfaced ParentFont property in TRzSpinner. RzStringModule.pas * Updated to reflect changes in recent Delphi IDEs. RzTabs.pas * Added Insert method to TRzTabControl.Tabs collection. * Fixed problem where deleting the last tab in a TRzTabControl did not set the TabIndex property to -1. * Fixed problem where the TRzTabControl.OnChange event would not fire when deleting a tab. RzTabStopEditor.pas * Increased the range of tab stop positions in the Tab Stop Editor from 100 to 200. -------------------------------------------------------------------------------- Build: 4.1.2 Date: 17 Apr 2007 -------------------------------------------------------------------------------- Added support for Delphi 2007 in the installer. Delphi 2007 continues to use the unit and package format from Borland Developer Studio 2006. RzHints.pas * Fixed GDI Object leak in TRzBalloonHints when ShowBalloon is set to True. RzButton.pas * Fixed display problems under Delphi 5 and 6 in which TRzCustomButton descendants (i.e. TRzButton, TRzCheckBox) would not honor the Transparent property. RzCmboBx.pas * Fixed issue where using custom framing to remove the border of a TRzComboBox (or descendant) while also using XP themes would not work correctly if the control's Color property was clWhite. * Surfaced KeepSearchCase in TRzMRUComboBox. * Further adjusted TRzComboBox coding to handle repeated mouse enter/leave events--in particular, invoking coding when style is csSimple to prevent flickering in the displayed list when using XP themes. * Fixed painting issue of TRzComboBox in the csSimple style when used under XP Themes. * Fixed memory leak in TRzColorComboBox that would occur if you modified the ColorNames property. RzCommon.pas * Fixed issue in TRzMenuController when reading UserPreferencesMask from Registry under Windows Vista. RzGroupBar.pas * Added CloseAllGroups and OpenAllGroups to TRzGroupBar. This method is only effective when the group bar Style is set to gbsCategoryView. * Fixed problem where TRzGroup.DividerVisible property would not be honored when changed at design-time and the group style was set to gbsTaskList. * Fixed problem where TRzGroupBar would not auto size correctly when aligned to the top or bottom of a form. * TRzGroupBar now correctly adjusts its size when groups are opened and closed (in gbsCategoryView) and AutoSize is set to True. RzLstBox.pas * When TRzListBox.ShowItemHints is True, and a group items exceeds the width of the control, the hint that is displayed no longer contains the group prefix characters. RzPanel.pas * Fixed display problems under Delphi 5 and 6 in which TRzCustomPanel descendants would not honor the Transparent property. RzPopups.pas * Added overloaded version of TRzPopupPanel.Popup to allow custom positioning of the popup on the control. RzShellCtrls.pas * The TRzShellList now correctly displays the appropriate sort indicator when in vsReport mode. RzTabs.pas * Fixed issue with TRzPageControl tab sheets that would cause transparent controls to paint incorrectly under XP themes under Delphi 5 or Delphi 6. * Fixed issue where tabs that did not specify a hint would display the most recent hint if TRzPageControl.TabHints was set to True. * Tabs in a TRzPageControl or TRzTabControl can now be selected by clicking any mouse button, not just the left button. * Clicking a tab at runtime using the right-mouse-button will now cause the clicked tab to become active. -------------------------------------------------------------------------------- Build: 4.1.1 Date: 12 Jan 2007 -------------------------------------------------------------------------------- RzBmpBtn.pas * Fixed issue in TRzBmpButton where disabling a button in the Down state would cause the Up image to be displayed. RzButton.pas * Fixed issue where transparent TRzCheckBox or TRzRadioButton controls would not properly erase the previous Caption when changed in the Delphi 2005 and earlier IDEs. * Fixed issue where Anchors were not being correctly applied during form loading which could occur when TRzToolButton instances needed to query their parent toolbar for style and size settings. RzPanel.pas * Fixed issue with TRzPanel, TRzGroupBar, and descendants that would cause transparent controls to paint incorrectly under XP themes under Delphi 5 or Delphi 6. * Added TextMarginVertical property, which allows the vertical text margin to be set differently from the horizontal margin (via TextMargin). RzSplit.pas * Fixed issue in TRzSplitter where splitter bar would not get repositioned if closed to the maximium side and the splitter control was resized larger. -------------------------------------------------------------------------------- Build: 4.1 Date: 11 Dec 2006 -------------------------------------------------------------------------------- RzBckgnd.pas * Fixed problem where TRzSeparator would not honor the ParentColor property. RzBHints.pas * Redesigned the TRzBalloonHints components and the supporting TRzCustomHintWindow class. * The TRzBalloonHints.Shadow property has been removed because with the new redesigned hint window the shadow is handle by the operating system. The major benefit of this is that the shadow is drawn using the alpha- blending capabilities of the operating system. * The shadow effect also works with balloon style hints with or without the pointer, as well as with rectangular hint windows. * The redesign of the custom hint window also fixed display issues that occurred when moving the mouse between controls while the hint window was still visible. * The hint positioning has also been refined in this release. * Fixed issue with incorrect word wrapping under certain circumstances. RzBmpBtn.pas * Fixed flicker issue with TRzBmpButton. RzBorder.pas * Added support for extended characters [Chr(127)..Chr(255)] in TRzLEDDisplay. * Added FrameController and FrameControllerNotifications properties to TRzBorder, TRzColorPicker, TRzLEDDisplay, and TRzMeter. * Added ButtonColor property to TRzColorPicker. RzBtnEdt.pas * Added BeepOnInvalidKey property to TRzButtonEdit. RzButton.pas * Fixed problem where TRzToolButton was not honoring design-time setting of Layout property. This only occurred when setting TRzToolButton.Layout property to blGlyphLeft (the default), and the button's UseToolbarButtonLayout property to False, *and* the toolbar's ButtonLayout property was set to something other than blGlyphLeft. * Added new Alignment property to TRzToolButton. * Fixed problem where TRzToolButton would display an offset Caption if the button was placed on a TRzToolbar that was connected to an ImageList, but the button's ImageIndex property was set to -1. * Fixed problem where TRzBitBtn would not show the down or exclusive glyphs in a bitmap assigned to the Glyph property. * Fixed flicker issue with TRzButton and TRzBitBtn. * Fixed problem where TRzToolButton.OnDropDown event would not get fired if the associated DropDownMenu did not have any menu items. The OnDropDown event can now be used to dynamically populate/update the drop down menu. * Remove csOpaque component style from TRzShapeButton, which was causing display issues under BDS 2006 SP2. * Fixed problem in TRzToolButton where incorrect gradient would be used to draw the down arrow portion of the button when pressed. RzCmboBx.pas * Fixed problem where focusing an item in a TRzImageComboBox would cause all other images in the associated ImageList to be displayed in their selected state. * Added new IndexOfItem and IndexOfData methods to the TRzImageComboBox. * Adjusted the custom coding introduced in 4.0.2 to handle the repeated OnMouseEnter/OnMouseLeave events from being generated in the TRzComboBox to only take effect when the Style property is csDropDown. This change indirectly fixes the problem of hints not getting displayed when the Style is set to csDropDownList. * Fixed problem where a TRzComboBox using csOwnerDrawFixed style could still be modified even though the ReadOnly property was set to True. * Added ClearItemsValues and InsertItemValue methods to TRzComboBox. add the same to the TRzDBComboBox. RzCommon.pas * Added new RC_Version constant that contains the complete version number of the current build of Raize Components. * Fixed problem where changes made to the ReadOnlyColorOnFocus property in TRzFrameController were not being transfered to connected controls. RzDBCmbo.pas * Added ClearItemsValues and InsertItemValue methods to TRzDBComboBox. RzDBEdit.pas * Added new MinDate and MaxDate properties to TRzDBDateTimeEdit to allow for specifying a range of valid dates that can be selected by the user. * Added the new OnGetDayFormat event to the TRzDBDateTimeEdit. This event allows the individual days of the calendar display to be colored and styled differently than the calendar's default formatting. This new event should be used in place of the OnGetBoldDays event. The OnGetBoldDays event is still available, but the new OnGetDayFormat event is much more flexible and powerful. * Adjusted the drawing of Days of the Week header in the drop down calendar of the TRzDBDateTimeEdit. In the new approach, the headers are either all drawn showing their short name (based on locale), or they are all drawn showing the first two characters of their short name. Also, the font size is reduced slightly for the day of week short names. * Fixed problem where bold-days bitmasks in TRzDBDateTimeEdit were not correctly applied to the previous and next months in a the current view. * Surfaced the ReadOnlyColorOnFocus property in TRzDBEdit, TRzDBNumericEdit, TRzDBDateTimeEdit controls. The functionality was added in 4.0.2, but was not surfaced. * Added BeepOnInvalidKey property to TRzDBEdit, TRzDBNumericEdit, and TRzDBDateTimeEdit. * Updated TRzDBNumericEdit to allow free form floating point numbers including scientific notation. Free form entry is only allowed when the IntegersOnly property is set to False. RzDBSpin.pas * Added BeepOnInvalidKey property to TRzDBSpinEdit and TRzDBSpinner. * Adjusted positioning and size of spin buttons in TRzDBSpinEdit. RzDesignEditors.pas * Added menu items to create Action List, Main Menu, Popup Menu, and Menu Controller components to the TForm component editor. * Updated TRzSpinValueProperty editor to prevent resetting IntegersOnly to True if the user enters an integer value into the Value property while the Decimals property non zero. RzEdit.pas * Added new MinDate and MaxDate properties to TRzDateTimeEdit to allow for specifying a range of valid dates that can be selected by the user. * Added the new OnGetDayFormat event to the TRzDateTimeEdit. This event allows the individual days of the calendar display to be colored and styled differently than the calendar's default formatting. This new event should be used in place of the OnGetBoldDays event. The OnGetBoldDays event is still available, but the new OnGetDayFormat event is much more flexible and powerful. * Adjusted the drawing of Days of the Week header in the drop down calendar of the TRzDateTimeEdit. In the new approach, the headers are either all drawn showing their short name (based on locale), or they are all drawn showing the first two characters of their short name. Also, the font size is reduced slightly for the day of week short names. * Fixed problem where bold-days bitmasks in TRzDateTimeEdit were not correctly applied to the previous and next months in a the current view. * Fixed issue where changing the TRzRichEdit.Line property would not cause the view to scroll to the new line position. * Fixed problem in TRzColorEdit, TRzDateTimeEdit, and descendants that resulted in the drop down arrow button looking distorted on Windows 98 systems. * Added BeepOnInvalidKey property to TRzNumericEdit and TRzDateTimeEdit. * Updated TRzNumericEdit to allow free form floating point numbers including scientific notation. Free form entry is only allowed when the IntegersOnly property is set to False. RzForms.pas * Restoring a maximized MDI Child form no longer results in a maximize- restore-maximize sequence when using the TRzFormState on the MDI Child. RzLabel.pas * Fixed problem where changes to borders of TRzLabel would not cause the control to auto size itself if the AutoSize property was True. RzListVw.pas * Loading a form containing a TRzListView in vsReport style that was placed on a TRzSplitter no longer causes the BDS IDE to lock up or experience painting issues. * Starting with BDS 2006, the base TListView class receives a cm_MouseLeave when the user moves the mouse onto the list view's header. If the user then moves the mouse upward out of the control, the list view does NOT receive notification of this. This change of behavior resulted in inconsistent painting in the TRzListView when using vsReport style and XP themes. The TRzListView now ensures that the control does receive a cm_MouseLeave notification message in this situation. RzLstBox.pas * Adjusted the default size of the popup edit box that is displayed when editing an item in the TRzEditListBox. RzPanel.pas * Added a new PaintClientArea property to TRzCustomPanel. This property is set to True by default. Set this property to False, when you are using another control to completely fill the client area of the panel. Therefore, the panel does not need to paint the client area as this will be painted by the other control (such as a TRzBackground). This will eliminate flicker when resizing the panel. * Fixed flicker issue with TRzPanel, TRzGroupBox, and descendants. * The TRzToolbar now correctly auto-sizes when WrapControls is False, and when Align is set to alNone. RzPopups.pas * Changed the mechanism by which users change the month and year in the TRzCalendar control. The user changes the month by clicking on the month name and selecting a new month from the popup menu that is displayed. To change the year, the user clicks on the year, which results in a spinner being displayed allowing the user to quickly change the year. * Added new MinDate and MaxDate properties to TRzCalendar to allow for specifying a range of valid dates that can be selected by the user. * Added the new OnGetDayFormat event to the TRzCalendar. This event allows the individual days of the calendar display to be colored and styled differently than the calendar's default formatting. This new event should be used in place of the OnGetBoldDays event. The OnGetBoldDays event is still available, but the new OnGetDayFormat event is much more flexible and powerful. * Adjusted the drawing of Days of the Week header. In the new approach, if the width of the display is wide enough, the full short name (based on locale) is displayed. If the display is not wide enough, then the short names are shortened to 1 or 2 characters to accomodate the size. Also, the font size is reduced slightly for the day of week short names. * Fixed problem where bold-days bitmasks were not correctly applied to the previous and next months in a the current view. * Added new OnToday and OnClear events to the TRzCalendar. These events occur when the corresponding button is click, or the Today or Clear method is called, respectively. * Surfaced FrameController and FrameControllerNotifications properties in TRzCalendar and TRzTimePicker. * Updated the display of the TRzCalendar and TRzTimePicker when used with Windows XP Themes. * Added ThemeAware property to TRzCalendar and TRzTimePicker. * Fixed display problem in TRzCalendar and TRzTimePicker that would occur when used within a TRzDateTimeEdit and the FocusColor property was set to a different value from the Color property. RzRadChk.pas * Fixed problem where pressing an accelerator character for a TRzCheckBox would cause the state to change even if the check box was ReadOnly. * TRzCheckBox and TRzRadioButton now handle the BM_GETCHECK window message to return the current state of the control. This message is used by accessibility applications such as Windows Eyes. * Fixed flicker issue with TRzCheckBox and TRzRadioButton. RzRadGrp.pas * Fixed problem where clearing the items in a TRzRadioGroup while the focus was still on one of the items resulted in an exception. RzShellCtrls.pas * Added SFGAO_STREAM attribute bit in ShouldInclude method of TRzShellList. * Fixed some assignment issues of TRzShellLocator properties between TRzShellList, TRzShellTree, and TRzShellCombo. RzShellOpenForm.pas * Fixed problem where navigating to a different directory and the user has less than 5 places (custom or default) would cause an index out of range exception. * Fixed issue where the incorrect caption was displayed in the Places bar for the "My Recent Documents" button in TRzOpenDialog and TRzSaveDialog. * Updated height of toolbar buttons on TRzOpenDialog and TRzSaveDialog to match height of combo box. * Fixed problem where the Desktop Places Bar button would not remain depressed after navigating to the desktop. RzSndMsg.pas * Fixed problem where setting ResolveNames to False would result in an undeliverable email message. RzSpnEdt.pas * Added BeepOnInvalidKey property to TRzSpinEdit. * Fixed problem where buttons in the TRzSpinButtons were not positioned correctly in vertical orientation. * Fixed problem where the buttons in a TRzSpinEdit would change color when the control was focused. * Fixed problem in TRzSpinEdit that resulted in the spin button arrows looking distorted on Windows 98 systems. * Adjusted positioning and size of spin buttons in TRzSpinEdit. * Improved the display of the TRzSpinner control. * Added hot tracking support to TRzSpinner. * Added XP Theme support to TRzSpinner. * Added FrameController and FrameControllerNotifications properties to TRzSpinner. * Added ShowFocusRect property to TRzSpinner. RzTabs.pas * Fixed problem where TRzPageControl would not pass along its size contraints to its parent (e.g. the form). * Fixed problem where adding a new tab to a TRzTabControl would not appear unless you modified some other property (e.g. Caption). * Fixed problem where deleting the last tab in a TRzTabControl would result in a List Index Out Of Bounds exception. * Fixed problem where GetInitialTabOffset would raise a List Index Out of Bounds exception under certain circumstances. * Added ShowFullFrame property to TRzTabControl. * Fixed client area sizing issues with TRzPageControl when ShowCardFrame and ShowFullFrame are modified. * Fixed display issue of card frame when ShowFullFrame is turned off. * Added OnShow and OnHide events to the TRzTabSheet component class. * Surfaced OnEndDrag and OnStartDrag events in TRzTabSheet. * Fixed flickering issue with the scroller buttons, the menu button, and the close button for the TRzPageControl and TRzTabControl. RzTrkBar.pas * Added ThemeAware property to TRzTrackBar. -------------------------------------------------------------------------------- Build: 4.0.3 Date: 04 Apr 2006 -------------------------------------------------------------------------------- !BuildRC4.cmd * Removed invalid path references from command script. RzBtnEdt.pas * The embedded buttons of a TRzButtonEdit (and descendants) now match in appearance to combo box buttons and the buttons in TRzColorEdit and TRzDateTimeEdit. RzButton.pas * Fixed problem where setting a glyph in a TRzBitBtn may result in an range error. * Fixed problem where TRzToolButton would lose its selection when an assoicated drop-down menu was invoked. * Fixed problem where long text that word-wrapped to multiple lines in a TRzButton and descendants would become invisible if the client area got too small. * On systems that do not support True or High Color displays, TRzButton instances (and descendants) are no longer drawn with gradients. * Redesigned the way in which images and text are positioned on a TRzToolButton control. In previous versions, the image would be positioned at the edge of the button depending on the value of the Layout property. The text would then be centered in the remaining space. This approach sometimes led to the unwanted effect of a large gap between the text and the image. Starting with this version, the image and text are positioned next to each other and both are centered within the button's client area. RzChkLst.pas * Surface OnMouseWheel event in TRzCheckList. RzCmboBx.pas * The font preview window in TRzFontComboBox no longer gets displayed off- screen if the control is positioned to close to the edge of the screen. * Fixed issue where dynamically reparenting a TRzImageComboBox would cause the control to lose its contents. * Surfaced OnMouseWheel event in TRzComboBox and descendants. RzCommon.pas * TRzMenuController now sizes the menu image bar according to the size of the images contained in the referenced image list. * Added InvalidateControls procedure, which is used by several container controls to force child controls that support transparency to invalidate themselves in order to pick up new styles of the container control. RzDBCmbo.pas * Fixed problem where a user could not type in non-numeric characters when a TRzDBComboBox was connected to an Integer database field *and* the Values list contains integers, but the Items list contains strings. * When pressing the Delete within a TRzDBLookupComboBox that is NOT connected to a DataSource, the ClearKeyValue method is called. * Reworked the way keys are handled by the TRzDBComboBox. The TDBComboBox control does not check if accelerator characters are pressed. The same was true for the TRzDBComboBox control, which resulted in the connected dataset being placed into edit mode if an accelerator key combination (i.e. Alt+) was invoke while the combo box had the focus. RzDBEdit.pas * Surfaced OnMouseWheel event in TRzDBMemo and TRzDBRichEdit. RzDBList.pas * Surfaced OnMouseWheel event in TRzDBListBox. RzDlgBtn.pas * Surfaced VisualStyle and GradientColorStyle properties in TRzDialogButtons. * Also Surfaced GradientColorStart, GradientColorStop, and GradientDirection properties in TRzDialogButtons. * Added ModalResultOk, ModalResultCancel, and ModalResultHelp properties to TRzDialogButtons. RzEdit.pas * Surface OnMouseWheel event in TRzMemo and TRzRichEdit. RzForms.pas * Fixed problem where TRzFromShape would not honor the Transparent property setting. * Added Enabled property to TRzFormState. Set this property to False, to stop the component from restoring or saving the current state of the form. RzGrafx.pas * Fixed problem in PaintGradient that would result in an endless loop when drawing a gradient in the BigSquareBox style and the bounding rectangle becomes very small. * Fixed problem in PaintGradient where the outer edge of the box-style gradients (e.g. gdSquareBox) would not get painted. RzGroupBar.pas * Fixed problem where non-visible category style groups with CaptionStyle set to csLarge, would still get the associated image painted in the group bar. RzListVw.pas * Surfaced OnMouseWheel event in TRzListView and descendants. RzLstBox.pas * The font preview window in TRzFontComboBox no longer gets displayed off- screen if the control is positioned to close to the edge of the screen. * Surfaced OnMouseWheel event in TRzListBox and descendants. RzPanel.pas * Fixed problem where grid lines in TRzGridPanel were not drawn. * The Caption of a TRzGroupBox using the GroupStyle of gsBanner or gsUnderline is not correctly positioned based on the Alignment property. * Modified TRzCustomPanel such that when the background appearance of the container is modified (e.g. GradientColorStart) any child controls in the container that support Transparency and invalidated in order to "pick up" the new appearance of the container. * Fixed appearance of TRzStatusBar when SimpleStatus is true and VisualStyle is set to vsGradient. RzPathBar.pas * Surfaced GradientColorStart, GradientColorStop, GradientDirection properties in TRzPathBar from the TRzCustomPanel ancestor class. * Surfaced VisualStyle and GradientColorStyle properties in TRzPathBar. * Updated display of TRzPathBar items to match capabilities of toolbar buttons and menu items (using TRzMenuController). RzRadChk.pas * Added ReadOnly, ReadOnlyColor, and ReadOnlyColorOnFocus proeprties to TRzCheckBox and TRzRadioButton. When either control is ReadOnly, the state of the control cannot be changed by the user (i.e. via mouse or keyboard). The state can stil be changed programatically. Also, when a TRzRadioButton is made ReadOnly, all of the other sibling radio buttons (i.e within the same container) are also made ReadOnly. * Fixed problem where the check mark displayed in a disabled TRzCheckBox would appear in the normal color instead of the disabled color. RzRadGrp.pas * Fixed problem in TRzRadioGroup where preventing an item selection using the OnChanging event when there was no currently selected item would cause an Index Out Of Range exception. RzShellDialogs.pas * Added the following properties to the TRzOpenDialog, TRzSaveDialog, and TRzSelectFolderDialog components: ToolBtnGradientColorStyle, ToolBtnSelectionColorStart, ToolBtnSelectionColorStop, ToolBtnSelectionFrameColor, and ToolBtnVisualStyle. These properties allow the developer to change the appearance of the tool buttons used in the dialogs. * Added ShowButtonGlyphs property to TRzOpenDialog, TRzSaveDialog, and TRzSelectFolderDialog, which determines if glyphs are displayed on the command buttons used in the dialog (e.g. Ok, Cancel). RzShellOpenForm.pas * TRzOpenDialog and TRzSaveDialog now correctly handle situations where less than 5 Custom Places are defined by the system. * Fixed problem where the file list in a TRzOpenDialog or TRzSaveDialog would not get resized correctly when the form was maximized. * The Places buttons in the TRzOpenDialog and TRzSaveDialog now remain depressed if the current folder matches the place represented by the button. RzSndMsg.pas * Added call to Logoff in destructor of TRzSendMessage. This call is now required by Outlook in order to successfully terminate the MAPI session even when the default session is used. * Added new ResolveNames property to TRzSendMessage. When this property is set to True, the Recipients properties should contain valid email addresses and not names that are to be looked up in the user's address book. Setting this property to False avoids the prompt from Outlook requesting access to the address book. The default is True, since this is how the component originally operated. RzSpnEdt.pas * Surface OnMouseWheel event in TRzSpinEdit. RzStatus.pas * Added IncParts and IncPartsByOne methods to TRzProgressStatus. * Adjusted streaming code in TRzStatusPane and descendants to allow older projects that used the FillColor property to not use the new default style of being transparent. RzTabs.pas * Fixed problem where controls dropped onto a tab sheet that has its tab hidden (i.e. TabVisible = False) would flicker as the page control was resized. * Surfaced OnContextPopup event for TRzPageControl, TRzTabSheet, and TRzTabControl. * Fixed problem where list contents of combo boxes and list boxes would get lost when TRzPageControl.SaveResources was set to true and user switched back to a page that was previously visible. * Fixed problem where setting TRzPageControl.ActivePageIndex to -1 caused an Index Out of Range exception. * Fixed problem in TRzPageControl and TRzTabControl where focus rectangle would cover any accelerators used in the tab captions. RzTreeVw.pas * Surface OnMouseWheel event in TRzTreeView and descendants. -------------------------------------------------------------------------------- Build: 4.0.2 Date: 13 Jan 2006 -------------------------------------------------------------------------------- Help Documentation * Links on property, method, and event summary pages now correctly link to appropriate property pages in both Delphi 2005 and Borland Developer Studio 2006 Help systems. * Links to inherited VCL property, method, and event topics are now correctly linked to from the Raize Components Help. * The short descriptions of properties, methods, events now appear on summary pages in Delphi 2005 and Borland Developer Studio 2006 Help systems. * Updated appropriate component property lists to include the new ReadOnlyColorOnFocus property. * Updated help documentation for TRzMenuController to reflect property name changes. RzButton.pas * Fixed problem in TRzMenuButton where hot track frame would be still visible if the user clicked outside the button or menu to cancel the menu. RzCmboBx.pas * In VCL 10 (i.e. BDS 2006), changes were made to the VCL base classes that cause the generation of OnMouseEnter/OnMouseLeave event sets every time the mouse is moved over the TComboBox. This change in behavior affects the custom framing capabilities of the TRzComboBox especially when FrameHotTrack is set to True. The effect is excessive flicker. In this build, the base VCL behavior has been redesigned to take into account that the Windows combo box is made up of more than one window handle. The end result is that the OnMouseEnter and OnMouseLeave events are generated in a more reasonable manner, thus eliminating the flicker. * Fixed "Unable to insert line" error that would occur in TRzMRUComboBox when trying to load MRU items that contained just white space. * Added ReadOnlyColorOnFocus property to TRzComboBox and descendants. This property determines if the ReadOnlyColor or FocusColor is used to color the control when the control has the focus and has its ReadOnly property set to True. By default, a focused control will use the FocusColor even if the control is read-only. Setting ReadOnlyColorOnFocus to True will cause a focused read-only control to be colored using ReadOnlyColor. RzCommon.pas * Added ReadOnlyColorOnFocus property to TRzFrameController. This property determines if the ReadOnlyColor or FocusColor is used to color the control when the control has the focus and has its ReadOnly property set to True. By default, a focused control will use the FocusColor even if the control is read-only. Setting ReadOnlyColorOnFocus to True will cause a focused read-only control to be colored using ReadOnlyColor. RzDBCmbo.pas * Surfaced ReadOnlyColorOnFocus in TRzDBComboBox. * Added ReadOnlyColorOnFocus property to TRzDBLookupComboBox. This property determines if the ReadOnlyColor or FocusColor is used to color the control when the control has the focus and has its ReadOnly property set to True. By default, a focused control will use the FocusColor even if the control is read-only. Setting ReadOnlyColorOnFocus to True will cause a focused read-only control to be colored using ReadOnlyColor. RzDBEdit.pas * Added ReadOnlyColorOnFocus property to TRzDBEdit and descendants, and TRzDBMemo, and TRzDBRichEdit. This property determines if the ReadOnlyColor or FocusColor is used to color the control when the control has the focus and has its ReadOnly property set to True. By default, a focused control will use the FocusColor even if the control is read-only. Setting ReadOnlyColorOnFocus to True will cause a focused read-only control to be colored using ReadOnlyColor. RzDBSpin.pas * Surfaced new ReadOnlyColorOnFocus proeprty. RzEdit.pas * Added ReadOnlyColorOnFocus property to TRzEdit and descendants, and TRzMemo, and TRzRichEdit. This property determines if the ReadOnlyColor or FocusColor is used to color the control when the control has the focus and has its ReadOnly property set to True. By default, a focused control will use the FocusColor even if the control is read-only. Setting ReadOnlyColorOnFocus to True will cause a focused read-only control to be colored using ReadOnlyColor. RzLabel.pas * Fixed problem where TRzLabel and descendants would not pick up the correct settings when connected to a TRzFrameController in Delphi 5. RzPanel.pas * Surfaced OnPaint event in TRzStatusBar. * Surface Padding property in TRzStatusBar (only in BDS 2006). * When using the gsBanner GroupStyle in TRzGroupBox and setting GradientColorStyle to gcsCustom, the banner area is now filled using the color values defined in GradientColorStart and GradientColorStop. * Fixed problem where TRzPanel and descendants would not pick up the correct settings when connected to a TRzFrameController in Delphi 5. RzPrgres.pas * Fixed problem where TRzProgressBar and descendants would not pick up the correct settings when connected to a TRzFrameController in Delphi 5. RzRadChk.pas * Fixed problem where TRzRadioButton and TRzCheckBox would not pick up the correct settings when connected to a TRzFrameController in Delphi 5. RzRadGrp.pas * Fixed problem where TRzRadioGroup and TRzCheckGroup would not pick up the correct settings when connected to a TRzFrameController in Delphi 5. RzStatus.pas * Fixed problem where extra divider line would appear in last status pane on a TRzStatusBar that had its VisualStyle set to vsGradient. * Fixed problem where TRzStatusPane and descendants would not pick up the correct settings when connected to a TRzFrameController in Delphi 5. RzThemeSrv.pas * Fixed issue that caused the "Unit RzThemeSrv was compiled with a different version of System.RTLVersion" message form appearing when compiling under Delphi 6 if RTL Update #3 was not applied. RzTreeVw.pas * Fixed problem where check boxes would not appear in TRzCheckTree. * The color of the check box frames in TRzCheckTree are now correctly updated when the FrameColor property is changed. -------------------------------------------------------------------------------- Build: 4.0.1 Date: 07 Jan 2006 -------------------------------------------------------------------------------- RzBorder.pas * When the Custom color item is selected in the TRzColorPicker, the initial color displayed in resulting the Color Dialog is the currently SelectedColor instead of the previous custom color value. This change makes it much easier for users to adjust selected colors. RzBtnEdt.pas * Added HideButtonsOnReadOnly property to TRzButtonEdit. When this property is True (the default), the buttons embedded in the control are hidden when the ReadOnly property is set to True. RzButton.pas * Fixed problem where TRzToolButton components could not be set to have VisualStyle := vsWinXP while at the same time having the TRzToolbar that parented those buttons from being a different VisualStyle (e.g.vsClassic). * Fixed problem in TRzShapeButton where setting PreciseClick to False would not register mouse clicks unless the user clicked over the bitmap mask. RzChkLst.pas * Added ItemFillColor and ItemFocusColor properties to TRzCheckList. RzCmboBx.pas * Changed the preference order between FocusColor and ReadOnlyColor properties in TRzComboBox. In the previous ordering, a ReadOnly control would be displayed in ReadOnlyColor even when the control had the focus. Now, a ReadOnly control that has the input focus is displayed in FocusColor. RzCommon.pas * Fixed problem where accelerator characters were not displayed in TRzMenuController menus if the user turned off the "Hide underlined letters for keyboard navigation until I press the Alt key" option in the Display Settings. RzDBBnEd.pas * Added HideButtonsOnReadOnly property to TRzDBButtonEdit. When this property is True (the default), the buttons embedded in the control are hidden when the ReadOnly property is set to True. RzDBChk.pas * Added FillColor and FocusColor properties to TRzDBCheckbox. These properties affect the interior of the check box glyph. When the control is focused, the interior is filled with the FocusColor otherwise the FillColor is used. These properties can also be controlled through a connected TRzFrameController. * Added HotTrackStyle property to TRzDBCheckBox, which determines the appearance of hot track highlighting when the HotTrack property is set to True. The default of htsInterior is identical to previous versions where the interior is highlighted. When set to htsFrame the frame of the box is highlighted to be thicker--the same appearance as setting FrameHotStyle to fsFlatBold in TRzEdit and others. The TRzFrameController can also be used to manage the this new property and apperance. RzDBCmbo.pas * Changed the preference order between FocusColor and ReadOnlyColor properties in TRzDBLookupComboBox. In the previous ordering, a ReadOnly control would be displayed in ReadOnlyColor even when the control had the focus. Now, a ReadOnly control that has the input focus is displayed in FocusColor. RzDBEdit.pas * Changed the preference order between FocusColor and ReadOnlyColor properties in TRzDBEdit, TRzDBMemo, and TRzDBRichEdit. In the previous ordering, a ReadOnly control would be displayed in ReadOnlyColor even when the control had the focus. Now, a ReadOnly control that has the input focus is displayed in FocusColor. RzEdit.pas * Changed the preference order between FocusColor and ReadOnlyColor properties in TRzEdit, TRzMemo, and TRzRichEdit. In the previous ordering, a ReadOnly control would be displayed in ReadOnlyColor even when the control had the focus. Now, a ReadOnly control that has the input focus is displayed in FocusColor. * When the Custom color item is selected in the TRzColorEdit color picker, the initial color displayed in resulting the Color Dialog is the currently SelectedColor instead of the previous custom color value. This change makes it much easier for users to adjust selected colors. RzGroupBar.pas * Fixed problem where reading a TRzGroupBar previously saved using an earlier version of Raize Components would result in a stream error. The problem would occur when the user modified the TRzGroupBar.ColorAdjustment property in the old version and then tried to load the form file containing the group bar under 4.0. RzPathBar.pas * Fixed problem where TRzPathBar.OnClick event would also fire if an item in the path bar was clicked. * Fixed problem where the PopupMenu associated with a TRzPathBar control would also get displayed in addition to the ItemPopupMenu when the user invoked a context menu on an item. RzPopups.pas * Fixed problem where radio buttons in TRzTimePicker for selecting AM and PM were not visible. RzRadChk.pas * Added FillColor and FocusColor properties to TRzRadioButton and TRzCheckbox. These properties affect the interior of the radio button and the check box glyph. When the control is focused, the interior is filled with the FocusColor otherwise the FillColor is used. These properties can also be controlled through a connected TRzFrameController. * Added HotTrackStyle property to TRzCheckBox and TRzRadioButton, which determines the appearance of hot track highlighting when the HotTrack property is set to True. The default of htsInterior is identical to previous versions where the interior is highlighted. When set to htsFrame the frame of the box (or circle) is highlighted to be thicker--the same appearance as setting FrameHotStyle to fsFlatBold in TRzEdit and others. The TRzFrameController can also be used to manage the this new property and apperance. -------------------------------------------------------------------------------- Build: 4.0 Date: 23 Dec 2005 -------------------------------------------------------------------------------- RzAnimtr.pas * Added DelayUntilRepeat property to TRzAnimator. This property controls the amount of time (in milliseconds) that pass before the animation repeats. RzBHints.pas * TRzBalloonHints now correctly displays hints when running under right-to-left (RTL) systems. RzBmpBtn.pas * Redesigned OnMouseEnter and OnMouseLeave events in TRzBmpButton to account for changes introduced in Borland Developer Studio 2006. RzBorder.pas * Redesigned OnMouseEnter and OnMouseLeave events in TRzBorder, TRzMeter, TRzLEDDisplay, and TRzColorPicker to account for changes introduced in Borland Developer Studio 2006. * Added Alignment property to TRzLEDDisplay. The control now supports left, right, and center alignment for the Caption. RzBtnEdt.pas * Added ReadOnlyColor property to TRzButtonEdit. This color property is used to change the color of the control when the ReadOnly property is set to True. * When the ReadOnly property for a TRzButtonEdit is set to True, the embedded buttons are hidden. * Added new FrameControllerNotifications property to TRzButtonEdit. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzButton.pas * Fixed problem in TRzButton and descendants where the pressing the space bar down and holding it down, and then pressing one of the arrow keys would change the focus but would not reset the original button to the up state. * Redesigned OnMouseEnter and OnMouseLeave events in TRzButton and TRzToolButton to account for changes introduced in Borland Developer Studio 2006. * Several changes were made to TRzToolButton regarding the control's user interface. Specifically, the ThemeAware and UseGradients properties have been removed. They have been replaced with the new VisualStyle property, which can be set to vsClassic, vsWinXP, or vsGradient. The default is vsWinXP, which results in similar behavior to version 3.x. That is, if XP Themes are used in an application, then the button will pick up the theme. When vsGradient is selected, the coloring of the selection is dependent on the new GradientColorStyle property, which can be set to gcsSystem, gcsMSOffice, or gcsCustom. The gcsSystem value is the default which results in the selection bar colors being based on the current system colors. When the gcsMSOffice value is specified and the XP Themes are present, the selection colors match those used by Microsoft Office products. When XP Themes are not present, the selection defaults to gcsSystem. The end result is that when choosing gcsSystem or gcsMSOffice, you will get an appropriate appearance that blends in naturally with the current user's color scheme. If you load a form (created in an earlier verison of RC), with a button that has UseGradients set to True, the component will automatically set ViewStyle to vsGradient. * Along with the changes noted above, the TRzToolButton has a new property, UseToolbarVisualStyle, which greatly simplifies setting up the UI for the toolbar and all its buttons. This property is set to True by default, which means that the buttons will get their appearance settings from the toolbar. * The painting method for TRzButton has been significantly redesigned to provide a much smoother and cleaner look when the HotTrack style is specified. The new appearance has also been specifically designed to provide an appropriate look regardless of the Windows color scheme selected by the user. In particular, the hot track coloring and default button indicator coloring utilizes gradient colors to provide a more polished appearance. * Added new FrameColor property to TRzButton and descendants. This property is used when the HotTrack style is specified. The FrameColor controls the color of the solid frame that surrounds the button. * Fixed problem in TRzBitBtn that prevented a Glyph that was designed to be non-transparent from displaying correctly. RzCheckGroupEditor.pas * Added new GroupStyle menu item to design context menu of TRzCheckGroup that handles the new GroupStyle values added to the control. * Added VisualStyle and GradientColorStyle menu items to designer context menu of TRzCheckGroup. RzChkLst.pas * Fixed display issues in TRzCheckList when running under RTL systems. * TRzCheckList now has an ItemFrameColor property that allows a developer to customize the color of the check box frames differently from the frame of the check list control itself. * The check boxes displayed by the check list utilize the same new drawing methods introduced for the TRzCheckBox control. * Added new FrameControllerNotifications property to TRzCheckList. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzCmboBx.pas * Fixed problem where TRzComboBox would not recognize certain characters when the user entered them using the U.S. International keyboard functionality in Windows. The international keyboard allows a user to entered composite characters (e.g. ë, é, etc.) by entering two keystrokes instead of typing Alt+NNNN on the keypad. For instance, typing "'" followed by "e" results in "é" being entered. The combo box would correctly recognize these characters, but would not recognize non- composite patterns such as "'" followed by "t". This problem has been fixed in this build. * Fixed problem where the TRzComboBox.OnMatch event would occur as the user typed more of the item's text even though the ItemIndex did not change. * Redesigned OnMouseEnter and OnMouseLeave events in TRzComboBox to account for changes introduced in Borland Developer Studio 2006. * Fixed custom framing display problem that would occur in TRzComboBox and descendants when FrameVisible was set to True and changes were made to control's appearance within calls to LockWindowUpdate. * Added ReadOnlyColor property to TRzComboBox and descendant classes. This color property is used to change the color of the control when the ReadOnly property is set to True. * Added new FrameControllerNotifications property to TRzComboBox and all descendant combo boxes (e.g. TRzFontComboBox). The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. * The TRzComboBox and descendants now utilize the new global variable IncrementalSearchResetDelay which is defined in the RzCommon unit. This variable defines how much inactivity during incremental keyboard searching will cause the search string to reset itself. The default is 1.5 seconds. RzCommon.pas * Added RemovePrefixChars function, which takes a passed string and then removes extra "&" characters which are typically used to define accelerator characters in a string. * Added ExpandEnvironmentVariables function, which takes a passed string and then replaces all envrionment variables with their equivalent strings. * Added IconBarColorStart, IconBarColorStop properties to TRzMenuController, which allows the user to change the vertical gradient bar in which menu item icons are displayed. * Added CurrentXPColorScheme global variable that is utilized by various controls and standard procedures. CurrentXPColorScheme is an enumeration that indicates the currently selected color scheme (blue, green, or silver). The supporting GetXPColorScheme procedure is also new in this release. * Removed GradientColorDefault property from TRzMenuController. * Added GradientColorStyle property to TRzMenuController, which can be set to gcsSystem (the default), gcsMSOffice, or gcsCustom. This property is used to determine the color values used when displaying menu items. Specifically, the color values used in displaying menu items has been redesigned in this version to provide a much better visual appearance as well as being compatible with Office applications if the user chooses. * The GradientColorStart, GradientColorStop, and FrameColor properties in TRzMenuController have been renamed to SelectionColorStart, SelectionColorStop, and SelectionFrameColor, respectively. The component will automatically take care of switching to the new properties when loading a TRzMenuController that has the old names. * Added GetGradientSelectionColors, GetGradientPanelColors, GetGradientStatusBarColors global procedures, which are used by various components to determine appropriate colors for the specified gradient color style (gcsSystem or gcsMSOffice). * Added ReadOnlyColor to TRzFrameController. This property can be used to manage the new ReadOnlyColor property that has been added to the controls that support a ReadOnly property. * The TRzFrameController component supports the new FrameControllerNotifications property that has been added to all controls in Raize Components that support Custom Framing. Only properties that are included in the control's FrameControllerNotifications set will affect the control's appearance. RzDBBnEd.pas * Added ReadOnlyColor property to TRzDBButtonEdit. This color property is used to change the color of the control when the ReadOnly property is set to True. * When the ReadOnly property for a TRzDBButtonEdit is set to True, the embedded buttons are hidden. * Added new FrameControllerNotifications property to TRzDBButtonEdit. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzDBChk.pas * Surfaced Align property in TRzDBCheckBox. * Added new FrameControllerNotifications property to TRzDBCheckBox. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzDBCmbo.pas * Fixed custom framing display problem that would occur in TRzDBComboBox when FrameVisible was set to True and changes were made to control's appearance within calls to LockWindowUpdate. * Fixed problem where combo box text would not get updated if the when the dataset would change and the Value property was the same. * Fixed problem where the TRzComboBox.OnMatch event would occur as the user typed more of the item's text even though the ItemIndex did not change. * Eliminated inconsistencies in the way the Escape key was being handled in the data-aware TRzDBComboBox versus the non-data-aware TRzComboBox and between the csDropDown and csDropDownList styles. Now, if the list is dropped down, the Escape key will close the list. If the list is not dropped, then pressing Escape in the TRzDBComboBox will reset the data value and not select the first item in the list. * Added check in TRzDBComboBox to prevent the OnChange event from firing when the combo box is updated as a result of changing to a new record in a dataset. The OnChange event is only fired when the user changes the selection in the combo box. * Redesigned OnMouseEnter and OnMouseLeave events in TRzDBLookupComboBox to account for changes introduced in Borland Developer Studio 2006. * Fixed BiDi issues in TRzDBLookupComboBox. * The drop down arrow in TRzDBLookupComboBox now appears disabled when the control is disabled or the control is not connected to a lookup source. * Added ReadOnlyColor property to TRzDBComboBox and TRzDBLookupComboBox. This color property is used to change the color of the control when the ReadOnly property is set to True. * When the ReadOnly property is set to True in a TRzDBLookupComboBox, the drop down button is hidden. * Added new FrameControllerNotifications property to TRzDBComboBox and TRzDBLookupComboBox. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzDBEdit.pas * Fixed problem where clicking the Clear button in the Calendar when used by a TRzDBDateTimeEdit would not set the underlying database field to NULL. * Fixed issue where editing a NULL date field with a TRzDBDateTimeEdit and then cancelling the edit of the dataset resulted in 12/31/1899 appearing in the edit area. * Added GetRtfData method to TRzDBRichEdit, which returns a string containing the RTF encoded data for the rich edit control. * Redesigned OnMouseEnter and OnMouseLeave events in TRzDBMemo and TRzDBRichEdit to account for changes introduced in Borland Developer Studio 2006. * Fixed custom framing display problem that would occur in TRzDBEdit and descendants when FrameVisible was set to True and changes were made to control's appearance within calls to LockWindowUpdate. * Added ReadOnlyColor property to TRzDBEdit and descendant classes. The new property has also been added to TRzDBMemo and TRzDBRichEdit. This color property is used to change the color of the control when the ReadOnly property is set to True. * When the ReadOnly property for a TRzDBDateTimeEdit is set to True, the drop down button is hidden. * Added new FrameControllerNotifications property to TRzDBEdit and descendant classes (e.g. TRzDBDateTimeEdit). The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzDBGrid.pas * Fixed problem where focus color of the grid would change if the inplace editor was invoked using the mouse. * Redesigned OnMouseEnter and OnMouseLeave events in TRzDBGrid to account for changes introduced in Borland Developer Studio 2006. * Fixed custom framing display problem that would occur in TRzDBGrid when FrameVisible was set to True and changes were made to control's appearance within calls to LockWindowUpdate. * Added new FrameControllerNotifications property to TRzDBGrid. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzDBList.pas * Added new FrameControllerNotifications property to TRzDBListBox. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzDBProg.pas * Added new FrameControllerNotifications property to TRzDBProgessBar. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzDBRadioGroupEditor.pas * Added new GroupStyle menu item to design context menu of TRzDBRadioGroup that handles the new GroupStyle values added to the control. * Added VisualStyle and GradientColorStyle menu items to designer context menu of TRzDBRadioGroup. RzDBRGrp.pas * The TRzDBRadioGroup inherits all of the new features and functionality added to the TRzCustomPanel and TRzGroupBox components including the new ViewStyle property, and the picking up of XP themes for Captions for all GroupStyle values. * Fixed problem in TRzDBRadioGroup where radio buttons would take up extra space if their captions contained accelerator characters (&). * Fixed positioning of radio buttons when group caption is empty and GroupStyle is gsFlat. RzDBSpin.pas * Fixed button placement issue in TRzDBSpinEdit when running under RTL systems. * Added ReadOnlyColor property to TRzDBSpinEdit. This color property is used to change the color of the control when the ReadOnly property is set to True. * When the ReadOnly property for a TRzDBSpinEdit is set to True, the spin buttons are hidden. * Added new FrameControllerNotifications property to TRzDBSpinEdit. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzDesignEditors.pas * Changed ancestor of TRzPageControlSprig and TRzTabSheetSprig from TComponentSprig to TWinControlSprig to allow other controls to be dragged and dropped onto TRzTabSheets from within the Object TreeView. * Simplified designer context menu for TRzStatusBar by moving all status panes that can be created into a cascading menu item. * Added VisualStyle and GradientColorStyle menu items to designer context menu of TRzStatusBar. * Re-organized the designer context menus for the TRzFormEditor. * Added new "Quick Design Form" menu item to TRzFormEditor. This menu item results in a cascading menu with several options for adding several controls at once to create certain common styles of forms. RzDlgBtn.pas * Added new ButtonFrameColor property to TRzDialogButtons. This property maps to the FrameColor properties of the embedded TRzButton controls (i.e. OK, Cancel, Help). RzDTP.pas * Redesigned OnMouseEnter and OnMouseLeave events in TRzDateTimePicker to account for changes introduced in Borland Developer Studio 2006. * Fixed custom framing display problem that would occur in TRzDateTimePicker when FrameVisible was set to True and changes were made to control's appearance within calls to LockWindowUpdate. RzEdit.pas * Fixed problem where clicking the Clear button in the Calendar when used by a TRzDateTimeEdit would cause 12/30/1899 to appear in the edit area. * Added GetRtfData method to TRzRichEdit, which returns a string containing the RTF encoded data for the rich edit control. * Fixed problem in custom edits (e.g. TRzDateTimeEdit, TRzColorEdit) where drop-down button would be drawn with a disabled background when the control's Enabled property was toggled from False to True in certain circumstances. * Redesigned OnMouseEnter and OnMouseLeave events in TRzCustomEdit, TRzMemo, TRzRichEdit, and TRzHotKeyEdit to account for changes introduced in Borland Developer Studio 2006. * Fixed custom framing display problem that would occur in TRzEdit and descendants when FrameVisible was set to True and changes were made to control's appearance within calls to LockWindowUpdate. * Added UseRightToLeftLayout to TRzCustomEdit. This method is used by descendant classes to correctly determine appropriate layouts (including embedded button positions) when running under RTL systems. * Added ReadOnlyColor property to TRzEdit and descendant classes. The new property has also been added to TRzMemo and TRzRichEdit. This color property is used to change the color of the control when the ReadOnly property is set to True. * For edit controls that display a drop down button (e.g. TRzColorEdit, TRzDateTimeEdit), when the ReadOnly property is set to True, the drop down button is hidden. * Added new FrameControllerNotifications property to TRzEdit and all edit descendant classes (e.g. TRzDateTimeEdit). In addition, this property has been added to the TRzMemo, TRzRichEdit, and TRzHotKeyEdit classes. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzFilSys.pas * Redesigned OnMouseEnter and OnMouseLeave events in TRzFileListBox, TRzDirectoryListBox, and TRzDrieComboBox to account for changes introduced in Borland Developer Studio 2006. * Fixed custom framing display problem that would occur in TRzFileListBox, TRzDirectoryListBox, and TRzDriveComboBox when FrameVisible was set to True and changes were made to control's appearance within calls to LockWindowUpdate. RzGrids.pas * Fixed problem where focus color of the grid would change if the inplace editor was invoked using the mouse. * Redesigned OnMouseEnter and OnMouseLeave events in TRzStringGri to account for changes introduced in Borland Developer Studio 2006. * Fixed custom framing display problem that would occur in TRzStringGrid when FrameVisible was set to True and changes were made to control's appearance within calls to LockWindowUpdate. * Added new FrameControllerNotifications property to TRzStringGrid. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzGroupBar.pas * Several changes were made to TRzGroupBar and supporting controls regarding the user interface. Specifically, the ThemeAware, UseGradients, and ColorAdjustment properties have been removed. They have been replaced with the new VisualStyle property, which can be set to vsClassic, vsWinXP, or vsGradient. The default value for TRzGroupBar is vsGradient, which means that gradient fills will be used to paint the group bar and the groups it contains to provide a sophisticated look. The colors of the various elements of the group bar are managed by the new GradientColorStyle property, which can be set to gcsSystem (the default), gcsMSOffice, or gcsCustom. When the gcsMSOffice value is specified and XP Themes are present, the control colors match those used by Microsoft Office products. When XP Themes are not present, the selection defaults to gcsSystem. The end result is that when choosing gcsSystem or gcsMSOffice, you will get an appropriate appearance that blends in naturally with the current user's color scheme. If you would prefer to have the control drawn using the XP theme elements, then simply set the VisualStyle property to vsWinXP. If XP themes are not present, then the control defaults to vsGradient. * Fixed problem where a group that had its Visible property set to False at design-time would not appear when Visible was set to True at runtime. This problem only occurred for groups that were not empty and did not contain any group items. * Redesigned OnMouseEnter and OnMouseLeave events in TRzGroup to account for changes introduced in Borland Developer Studio 2006. * Added OnEnter and OnExit events to TRzGroup. * Setting the Caption of a group item to '-' results in a separator line being drawn in the group for TRzGroup.ItemStyle values of isLarge and isSmall. * The ItemIndex property of the TRzGroup has been changed from a read-only property to a read/write property. This allows the developer greater flexibility when programmatically setting item selection. Of course, using the Selected property of a TRzGroupItem still functions as before. * Added the UniqueItemSelection property to TRzGroupBar, which when set to True results in only one group item to be selected at any one time across all groups in the group bar. * Added new AddToGroup method to the TRzGroup class. This method is designed to be used with TRzGroupTemplate instances. In particular, the AddToGroup method can be used to take the items from a template and add them to an existing group instead of only allowing the template to be used in creating a new group. RzImageListEditor.pas * Fixed problem where icons would get re-arranged on resize and not be in a sorted order. * Fixed positioning of dialog in Delphi 2005, and BDS 2006. RzLabel.pas * Redesigned OnMouseEnter and OnMouseLeave events in TRzLabel to account for changes introduced in Borland Developer Studio 2006. * Fixed positioning of TRzLabel.Caption when Layout property is set to tlCenter or tlBottom. * Added new FrameControllerNotifications property to TRzLabel and descendant label controls. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzLine.pas * Redesigned OnMouseEnter and OnMouseLeave events in TRzLine to account for changes introduced in Borland Developer Studio 2006. RzListVw.pas * Fixed problem where TRzListView header would be displayed in same font color as the list view's Font property. This is problematic if the color is very light. The control now draws the header in the same font, but uses the clBtnText font color. * Fixed problem where TRzListView would not get resized properly (e.g. Align set to alClient) when placed on a TRzSplitter. * Redesigned OnMouseEnter and OnMouseLeave events in TRzListView to account for changes introduced in Borland Developer Studio 2006. * Fixed custom framing display problem that would occur in TRzListView when FrameVisible was set to True and changes were made to control's appearance within calls to LockWindowUpdate. * Added new FrameControllerNotifications property to TRzListView. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzLstBox.pas * Added GroupIndexOfItem method to TRzCustomListBox, which takes an index of an item in the list and returns its logical group index if the item does indeed represent a group. * Fixed issue where pressing backspace key during an incremental search process would not result in the OnClick event from being raised. * Redesigned OnMouseEnter and OnMouseLeave events in TRzListBox to account for changes introduced in Borland Developer Studio 2006. * Fixed custom framing display problem that would occur in TRzListBox and descendants when FrameVisible was set to True and changes were made to control's appearance within calls to LockWindowUpdate. * TRzListBox and descendants now correctly display items and groups when running under RTL systems. * Added new FrameControllerNotifications property to TRzListBox and all descendant list boxes (e.g. TRzFontListBox). The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. * Fixed problem in TRzEditListBox where object references associated with items in the list box would get lost if the item's text was edited and the list was sorted. * The TRzComboBox and descendants now utilize the new global variable IncrementalSearchResetDelay which is defined in the RzCommon unit. This variable defines how much inactivity during incremental keyboard searching will cause the search string to reset itself. The default is 1.5 seconds. RzPanel.pas * When TRzPanel.Transparent is set to True, the parent's background is usually drawn in the client area. Starting with this version, the parent's background image is only drawn when Transparent is True and the FullRepaint property is also True. * Redesigned OnMouseEnter and OnMouseLeave events in TRzCustomPanel to account for changes introduced in Borland Developer Studio 2006. * Surfaced Padding property (introduced in Borland Developer Studio 2006) in TRzPanel and TRzGroupBox. * Modified control positioning code in TRzToolbar to take into account the Margins of controls dropped on the toolbar. A control's Margins settings are only used when the control's AlignWithMargins property is set to True. * Introduced TRzFlowPanel and TRzGridPanel. These two components are custom descendants of the TFlowPanel and TGridPanel introduced in Borland Developer Studio 2006, and provide additional features not present in the ones that come with the VCL. For example, the TRzFlowPanel and TRzGridPanel have the same display capabilities as the TRzPanel component including the way contained controls are enabled/disabled as the panel is enabled/disabled. In addition, context menu design editors have also been created for the TRzFlowPanel and TRzGridPanel providing quick access to common proeprties and tasks associated with the controls. * Several changes were made to TRzCustomPanel and descendant controls regarding the user interface. Specifically, the ThemeAware and UseGradients properties have been removed. They have been replaced with the new VisualStyle property, which can be set to vsClassic, vsWinXP, or vsGradient. The default is vsWinXP, which results in similar behavior to version 3.x. For the basic TRzPanel, there is no difference between vsWinXP and vsClassic. However, for controls such as the TRzToolbar, TRzGroupBox, and TRzStatusBar, this default value means that if XP Themes are used in an application, then the control will use the appropriate XP theme style. When vsGradient is selected, the coloring of the control is dependent on the new GradientColorStyle property, which can be set to gcsSystem, gcsMSOffice, or gcsCustom. The gcsSystem value is the default which results in colors based on the current system colors. When the gcsMSOffice value is specified and the XP Themes are present, the control colors match those used by Microsoft Office products. When XP Themes are not present, the selection defaults to gcsSystem. The end result is that when choosing gcsSystem or gcsMSOffice, you will get an appropriate appearance that blends in naturally with the current user's color scheme. Also note that if you load a form (created in an earlier verison of RC), with a panel control that has UseGradients set to True, the component will automatically set ViewStyle to vsGradient. * The TRzGroupBox control now picks up XP theme colors for the Caption for all GroupStyle values and not just gsStandard and gsFlat. * The TRzStatusBar control now surfaces GradientColorStart and GradientColorStop properties, as well as the new GradientColorStyle and ViewStyle properties described above. When ViewStyle is set to vsGradient and GradientColorStyle is set to gcsCustom, these new Start/Stop color property values determine the appearance of the status bar. * Added new FrameControllerNotifications property to TRzPanel, TRzFlowPanel, and TRzGridPanel. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzPanelEditor.pas * Added VisualStyle and GradientColorStyle menu items to designer context menu of TRzPanel. RzPopups.pas * Fixed problem where clicking the Clear button in the Calendar when used by a TRzDateTimeEdit would not set the underlying database field to NULL. RzPrgres.pas * Added new bsGradient value to TRzProgressBar.BarStyle enumeration. When selected, the progress bar and background are drawn using gradients. The colors of the gradients are determined by the BarColor, BarColorStop, BackColor, and BackColorStop properties. The style of gradient is controlled by the new GradientDirection property. * Added new FrameControllerNotifications property to TRzProgressBar. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzRadChk.pas * The display methods for TRzRadioButton and TRzCheckBox has been completely redesigned in this version. The old approach utilized a bitmap resource and the control would replace colors in the resource to match the desired colors of the control. This was an adequate approach, but it did not allow for a smooth display (especially in radio buttons). Also, hot tracking was very rough looking as only two colors were used. In this new version, the glyph images for the TRzRadioButton and TRzCheckBox are drawn using the new DrawRadioButton and DrawCheckBox procedures that were added to the RzCommon unit. The new style display provides a very effective and polished appearance for both controls. This is especially true with the circular radio button and the use of gradients for hot tracking. * Fixed problem where bottom portion of TRzCheckBox or TRzRadioButton caption would get cut off when using Large Fonts and using default size of the control. * Fixed display issues in TRzRadioButton and TRzCheckBox when running under RTL systems. * Surfaced Align property in TRzRadioButton and TRzCheckBox. * Added new FrameControllerNotifications property to TRzRadioButton and TRzCheckBox. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzRadGrp.pas * Fixed problem where TRzCheckGroup would not remember check states of items set at design-time. * Fixed problem in TRzRadioGroup and TRzCheckGroup where radio buttons/check boxes would take up extra space if their captions contained accelerator characters (&). * Fixed positioning of radio buttons/check boxes when group caption is empty and GroupStyle is gsFlat. * The TRzRadioGroup and TRzCheckGroup inherit all of the new features and functionality added to the TRzCustomPanel and TRzGroupBox components including the new ViewStyle property, and the picking up of XP themes for Captions for all GroupStyle values. * Fixed alignment issue of embedded controls in TRzRadioGroup and TRzCheckGroup when running under RTL systems. RzRadioGroupEditor.pas * Added new GroupStyle menu item to design context menu of TRzRadioGroup that handles the new GroupStyle values added to the control. * Added VisualStyle and GradientColorStyle menu items to designer context menu of TRzRadioGroup. RzSelectImageEditor.pas * Fixed positioning of Select Image Editor so that the design editor appears just under the control being edited if possible. RzShellCtrls.pas * Added new FrameControllerNotifications property to TRzShellTree, TRzShellList, and TRzShellCombo. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzShellOpenForm.pas * Fixed problem where invoking the Open/Save dialog and specifying a DefaultExt but not any filters, caused an Index Out of Range exception if the user typed a file without an extension and closed the dialog box. * Fixed problem where invoking a TRzOpenDialog or TRzSaveDialog in Delphi 5 would result in an exception. * Fixed issue where certain REG_EXPAND_SZ format Custom Places were not handled correctly in the TRzOpenDialog and TRzSaveDialog. * The icons displayed in the Custom Places bar now correctly pick up specialized folder icons. RzSplit.pas * Surfaced GradientColorStart, GradientColorStop, and GradientDirection properties in TRzSizePanel. * Added HotSpotColor, HotSpotDotColor, HotSpotFrameColor properties to TRzSplitter and TRzSizePanel. These properties allow the appearance of the HotSpot area of the splitter bar (or size bar) to be customized. * Surfaced Padding property (introduced in Borland Developer Studio 2006) in LowerRight and UpperLeft panes of TRzSplitter, and TRzSizePanel. * Both the TRzSplitter and TRzSizePanel inherit the new VisualStyle and GradientColorStyle properties that have been added to TRzCustomPanel. RzSpnEdt.pas * Surfaced InitialDelay and Delay properties for TRzSpinButtons. * Added ReadOnlyColor property to TRzSpinEdit. This color property is used to change the color of the control when the ReadOnly property is set to True. * When the ReadOnly property for a TRzSpinEdit is set to True, the spin buttons are hidden. * Added new FrameControllerNotifications property to TRzSpinEdit. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzStatus.pas * Added new bsGradient value to TRzResourceStatus.BarStyle enumeration. When selected, the progress bar and background are drawn using gradients. The colors of the gradients are determined by the BarColor, BarColorStop, BackColor, and BackColorStop properties. The style of gradient is controlled by the new GradientDirection property. * Redesigned OnMouseEnter and OnMouseLeave events in TRzCustomStatusPane to account for changes introduced in Borland Developer Studio 2006. * All status panes (i.e. TRzCustomStatusPane and descendants) now support the Transparent property, which is set to True by default. This change addresses a number of short-comings in the previous approach. Transparency was also necessary to support the new vsGradient ViewStyle property value in the TRzStatusBar. * When a status pane is placed on a TRzStatusBar, the appearance of the status pane is determined by the TRzStatusBar. As a result, it is no longer necessary to customize each control in order to change the style of the status bar. * Introduced the TRzProgressStatus control. This component has the functionality of a progress bar, but is designed to be placed in a TRzStatusBar. In previous versions, a TRzProgressBar could be used in a TRzStatusBar, and it's border properties modified so that it would look appropriately in the status bar, but with the new TRzProgressStatus, this is no longer necessary. In addition, the TRzProgressStatus supports transparency just like the other status panes, and therefore provides a much better user interface for progress bar status. * At design-time, the TRzVersionInfoStatus component now displays the version info field that will be displayed when the app is executed. * Added new FrameControllerNotifications property to TRzStatusPane and all status pane descendants. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. * Fixed problem in TRzGlyphStatus that prevented a Glyph that was designed to be non-transparent from displaying correctly. RzStringListEditor.pas * Fixed positioning of Raize String List Editor under Delphi 2005 and Borland Developer Studio 2006. RzTabs.pas * Added new ShowMenuButton property to TRzPageControl and TRzTabControl. When set to True, a button appears next to the tabs (next to the Close button if it is visible). When this button is clicked a popup menu is displayed listing all of the tabs currently visible in the control. The user can navigate to a tab by selecting the corresponding menu item. * Enhanced the appearance of the tab buttons (scroller, close, menu). The buttons now appear with a gradient background if the UseGradients property for the page/tab control is set to True, which is the default * Fixed display issue where scroller buttons would appear on top of tab. * It is now possible to drag and drop other controls onto a TRzTabSheet from within the Object TreeView. * Surfaced Padding property (introduced in Borland Developer Studio 2006) in TRzTabSheet and TRzTabControl. * Added new OnTabOrderChange event to both TRzPageControl and TRzTabControl. This event is generated when the order of the tabs in the control are changed either by dragging the tabs, or by modifying a tab sheet's PageIndex property, or by moving items in the TRzTabControl.Tabs collection. * Fixed problem where tab-dragging interfered with dragging and dropping of other controls onto TRzPageControl tab sheets and TRzTabControl. * At design-time, when new tabs are created for a TRzTabControl, the Caption of the new tab is initialized to a default value (similar to what is done when creating a new tab sheet in a TRzPageControl). * Added OnPageChange event to TRzPageControl. This event fires whenever the user switches pages by clicking on a tab *or* the page is switched programmatically. This event fires regardless of whether the associated tab with the page is visible or not. RzToolbarEditor.pas * Fixed positioning of Raize Toolbar Editor so that the design editor appears just under the toolbar being edited if possible. RzTreeVw.pas * Fixed issue where states of nodes would get out of sync when a node was deleted from the tree. * Redesigned OnMouseEnter and OnMouseLeave events in TRzCustomTreeView to account for changes introduced in Borland Developer Studio 2006. * Fixed custom framing display problem that would occur in TRzTreeView and descendants when FrameVisible was set to True and changes were made to control's appearance within calls to LockWindowUpdate. * Added new FrameControllerNotifications property to TRzTreeView and TRzCheckTree. The FrameControllerNotifications set property defines which TRzFrameController properties will be handled by the control. By default all TRzFrameController properties will be handled. RzTrkBar.pas * Redesigned OnMouseEnter and OnMouseLeave events in TRzTrackBar to account for changes introduced in Borland Developer Studio 2006. --------------------------------------------------------------------------------