Raize Components 3.1 Modifications The following is a list of all of the modifications that have been made for version 3.1 of Raize Components. Modifications made to previous versions of Raize Components 3 are included as well. Build: 3.1 Date: 04 Aug 2005 -------------------------------------------------------------------------------- RzBHints.pas * Fixed problem where the pointer area of the balloon hint would not get displayed in the same color specified in the Color property. * Added new FrameColor property to allow user to change the color of the line (i.e. frame) drawn around the hint window. * Added new enumerated value to TRzHintCorner type (hcNone). When the TRzBalloonHints.Corner property is set to hcNone, then hint window is displayed without the pointer area. In other words, the hint window appears as a rounded rectangle. RzButton.pas * Added code to allow accelerator characters to drop down menus of TRzToolButton when no OnClick event handler or Action is assigned to the control. * Published Align, Anchors, and Constraints properties in TRzToolButton. * When no Caption is specified for a TRzToolButton, the specified image is displayed in the center of the button regardless of the setting of the Layout property. RzChkLst.pas * Fixed problem in TRzCheckList where calling the inherited AddItem method from TCustomListBox would cause a list index out of bounds exception. RzCmboBx.pas * Added the new Values property to TRzComboBox, in which each string in the Values list is related to the string in the Items list at the same index. And when the user selects a particular items from the dropdown list (which displays the Items), the corresponding item from the Values list is stored in the new Value property. If the Values list is not used, the Value property matches the selected Items string. * Added TRzComboBox.Value property, which provides easy access to the selected "value" from the Values list that corresponds to the ItemIndex. The Value property can be assigned a "value" from the Values list and the corresponding ItemIndex is used. * Added the TRzComboBox.AddItemValue method, which makes it easy to add an item and corresponding value to the Items and Values lists, respectively. * Further refined processing of custom color values in TRzColorComboBox when the user selects a an empty color cell from the Color Dialog box. * Fixed problem where placing a TRzFontComboBox onto a TRzSizePanel which was aligned alRight would prevent the size panel from resizing. * Fixed problems where the TRzMRUComboBox control would not always record the item entered by the user. In previous versions, the updating of the MRU list took place when the user would leave the field by changing focus. In addition to this, now the control records the selected item and updates the MRU list when the user makes a selection from the list using the mouse or the keyboard. RzComboBoxEditor.pas * Initial release. Because the TRzComboBox now supports the Values property along with the Items property a new component editor has been created that makes it easy to add items and values to the control. Items and corresponding Values can be entered simulatenously into a grid. Alternatively, the user can click the Load button and specify a text file that contains the items. If the text file is structured in item=value format, both columns of the grid will be populated appropriately. RzDBCmbo.pas * Added the new Values property to TRzDBComboBox, which operates in much the same way the Values property of the TRzDBRadioGroup. That is, each string in the Values list is related to the string in the Items list at the same index. However, when the user selects a particular items from the dropdown list (which displays the Items), the corresponding item from the Values list is stored in the database field. If the Values list is not used, the selected string from the Items list is stored in the database. * Added TRzDBComboBox.Value property, which provides easy access to the selected "value" from the Values list that corresponds to the ItemIndex. * Added the TRzDBComboBox.AddItemValue method, which makes it easy to add an item and corresponding value to the Items and Values lists, respectively. RzDBComboBoxEditor.pas * Initial release. Because the TRzDBComboBox now supports the Values property along with the Items property a new component editor has been created that makes it easy to add items and values to the control. Items and corresponding Values can be entered simulatenously into a grid. Alternatively, the user can click the Load button and specify a text file that contains the items. If the text file is structured in item=value format, both columns of the grid will be populated appropriately. RzDBEdit.pas * Fixed problem where TRzDBMemo and TRzDBRichEdit would not honor the user's mouse wheel lines settings when scrolling using the mouse wheel. * Added new PopupButtonColor and PopupButtonFontColor properties to TRzDBDateTimeEdit control, which provide access to the popup TRzCalendar or TRzTimerPicker ButtonColor and ButtonFontColor properties. RzDBRadioGroupEditor.pas * Modified the TRzDBRadioGroup editor form to utilize the grid approach of entering items and values that was created for the TRzComboBox and TRzDBComboBox controls. As such, Items and corresponding Values can be entered simulatenously into a grid. Alternatively, the user can click the Load button and specify a text file that contains the items. If the text file is structured in item=value format, both columns of the grid will be populated appropriately. RzDesignEditors.pas * Added menu item to select new tsBackSlant tab style for the TRzPageControl and TRzTabControl components. RzDlgBtn.pas * When the Cancel button is hidden, the Escape key (in addition to the Enter key) will trigger the OK button's click event and cause the dialog to close. RzEdit.pas * Fixed problem where TRzMemo and TRzRichEdit would not honor the user's mouse wheel lines settings when scrolling using the mouse wheel. * Added new PopupButtonColor and PopupButtonFontColor properties to TRzDateTimeEdit control, which provide access to the popup TRzCalendar or TRzTimerPicker ButtonColor and ButtonFontColor properties. RzGroupBar.pas * Refined the frequency TRzGroup.OnCanOpen and TRzGroup.OnCanClose events are fired. Now, these events are only fired when the group's Open/Close state is about to change. * In the gbsOutlook style, the selected Group's OnOpen event is now called after all of the other groups have been closed. * Added new CaptionStyle property to TRzGroup, which controls which style of icon is displayed in the group's caption. When set to csSmall, the CaptionImageIndex image from the SmallImages image list is displayed. When CaptionStyle is set to csLarge, the CaptionImageIndex image from the LargeImages image list is displayed. When a large image (32x32 pixels) is displayed, the top of the image extends beyond the top of the group's caption area. RzLabel.pas * Added new TextMargin property, which controls the amount of space between the inside border of the control (or edge of control if no borders are visible) and the Caption's display area. * Fixed positioning of text when borders are displayed. RzListVw.pas * Fixed problem where header would not be repainted when HeaderDefaultDrawing property was modified. RzLstBox.pas * Fixed problem where placing a TRzFontListBox onto a TRzSizePanel which was aligned alRight would prevent the size panel from resizing. RzPanel.pas * Fixed problem where RowHeight of TRzToolbar was not being adjusted when the control was scaled. * Fixed problem where leading ampersands (&) placed at the beginning of a TRzGroupBox caption would cause extra spaces to appear at the end of the caption. * Added new TextMargin property to TRzPanel, which controls the amount of space between the inside border of the control (or edge of control if no borders are visible) and the Caption's display area. * Added new WordWrap property to TRzPanel, which is only active when a Caption is visible. RzPopups.pas * Added ShowDays property to TRzCalendar. This allows the days in the calendar to be hidden, which is useful if one only requires month and year selection. * The TRzTimePicker has been modified so that the hour hand is displayed in its true time position. That is, in-between hours as the minutes change. This change makes the TRzTimePicker suitable for displaying a clock and not just for selecting times. * As the user moves the minute hand of the clock the hour will also change as the user moves the minute hand past the top of the hour. * Added new ShowTime property to TRzTimePicker. When set to False, the time in digital format is no longer visible at the top of the control. * Added new RestrictMinutesBy property to control the amount of minutes the time is altered when the Control key is pressed as the user changes the minute hand. The hint that is displayed is also updated to reflect any changes to the FRestrictMinutesBy value. * Added new ButtonColor and ButtonFontColor to both the TRzCalendar and the TRzTimePicker controls. These properties control the appearance of the buttons and header area that appear in these controls. RzShellCtrls.pas * Fixed problem where TRzShellTree would not appear if placed on a TRzSplitter. The problem was related to calling Items.EndUpdate in the DestroyWnd method. RzShellOpenSaveForm.pas * The TRzOpenDialog and TRzSaveDialog components are now aware of changes made to the Custom Places bar. * Added new ButtonColor property to shell dialog boxes, which can be used to change the color of the push buttons used in the dialog boxes. This is useful when using the HotTracking feature. RzSndMsg.pas * Added the MapiInstalled function to TRzSendMessage. This method checks the system's Registry to determine if Windows considers the Messaging API supported. RzSplitterEditor.pas * Added menu items to context menu to add a Panel, Group Bar, or Group Box to the currently selected pane of the splitter. RzSpnEdt.pas * Changed the signature of the TRzSpinEdit.OnChanging event. The previous version did not include a parameter for the NewValue the spin edit would like to change to. Without this parameter, the OnChanging event was pretty much useless. The NewValue parameter has been added to the event signature. IMPORTANT NOTE! If you are already handling this event in your existing code you will need to manually add the NewValue: Extended parameter to your event handler. For example, if your old event handle looks like this: procedure TForm1.RzSpinEdit1Changing( Sender: TObject; var AllowChange: Boolean ); you would change it to the following: procedure TForm1.RzSpinEdit1Changing( Sender: TObject; NewValue: Extended; var AllowChange: Boolean ); RzStatus.pas * Added new KeyOffAppearance property to TRzKeyStatus, which controls the appearance of the "Key Off" state. The default is koaBlank. The other option is koaDimmed. * Fixed problem where InsertState property of TRzKeyState was not being recognized when the control was created dynamically. * Modifiying the InsertState after the TRzKeyState control has been created now correctly resets all internal state variables to match the newly selected initial state value. RzTabs.pas * Fixed problem where OnChange event would not get fired when a tab on a TRzTabControl was closed using the Close Button. * Fixed problem where an extra line would be drawn on the first tab when the style was set to tsSingleSlant and the tab's Caption was blank. * Added new tsBackSlant tab style to the TRzPageControl and TRzTabControl. This style is the opposite of the tsSingleSlant style and is very effective when the TabSequence property is set to tsReverse. * Added new SoftCorners property to TRzPageControl and TRzTabControl. When set to True, the angle corner of the tsSingleSlant, tsDoubleSlant, and tsBackSlant styles are drawn softer (rounded). * Added new TabOverlap property, which controls the number of pixels a tab will overlap an adjacent tab. This property is only active when the TabStyle is set to tsCutCorner or tsRoundedCorners. For example, a TabOverlap of 1 will cause adjacent tabs to overlap by 1 pixel thus causing the tabs to share a border. Specifying an negative value for TabOverlap causes a space to appear between tabs. * The scroller buttons that are used to scroll through the tabs of a TRzPageControl or TRzTabControl are now auto-repeat. That is, scrolling will continue in the direction until the mouse is released. * When dragging a tab to a new location (i.e. AllowTabDragging = True) any existing tabs that are not in view are automatically scrolled into view when the user moves the mouse beyond the edge of the control. * Fixed problem where dragging a disabled tab would move the currently active tab instead. By design, disabled tabs cannot be dragged to a new position because they cannot be selected by the user. * Fixed problem where tab captions would not honor changes to the control's Font.Charset property. RzTray.pas * Fixed problem in TRzTrayIcon where changing the Icons property to reference a different image list would not cause the tray icon to be updated to the image of the corresponding index. * When setting the TRzTrayIcon.IconIndex property to -1, the application icon is now displayed in the system tray instead of just showing a blank area. RzTreeVw.pas * Fixed problem where scrolling the mouse wheel would not always scroll the tree view so that the top node became visible. -------------------------------------------------------------------------------- Build: 3.0.13 Date: 15 May 2005 -------------------------------------------------------------------------------- RzAnimtr.pas * Added OnFrameChange event to TRzAnimator. This event fires when a new image is drawn during the animation. RzChkLst.pas * Modified the TRzCheckListStrings.AddStrings method so that a string list that contained the coded state and enable values for each item would get correctly added to the TRzCheckList. RzCmboBx.pas * Fixed issue where selecting invoking the Custom Color dialog box from a TRzColorComboBox and then selecting an empty custom color box caused a exception when the dialog was closed. RzCommon.pas * Added MenuColor and MenuFontColor properties to TRzMenuController. RzDBCmbo.pas * Surfaced inherited Align property in TRzDBLookupComboBox. RzDlgBtn.pas * Surfaced BtnOK, BtnCancel, BtnHelp properties to access the individual button controls used in the component. * Changed ancestor of TRzDialogButtons from TCustomPanel to TRzCustomPanel because the TCustomPanel code does not honor changes to Color property when an XP Manifest is used. RzGroupBar.pas * Fixed problem where group caption would not get repainted when CaptionColorDefault property was changed. RzIntLst.pas * Fixed problem where TRzIntegerList was not recognizing the dupIgnore setting for the Duplicates property. RzLabel.pas * Applied dt_RtlReading flag only when UseRightToLeftAlignment is true. RzLaunch.pas * Fixed problem where setting ShowMode to smMinimized would not result in the launched/executed app being minimized. Changed the mapping of smMinimized from sw_ShowMinimized to sw_ShowMinNoActive. RzListVw.pas * Fixed problem where incorrect image (via image index) was being displayed for column headers. RzLstBox.pas * Modified DrawGroup method such that when XP themes are used, the group's color and font color are drawn using appropriate colors regardless of the XP color scheme currently being used. RzRadChk.pas * Fixed issue where change the Checked property of an Action that is connected to a TRzCheckBox caused the check box to have painting issues. RzShellCtrls.pas * Fixed TRzShellList.FileFilter when sloFilesCanBeFolders option is False. RzShellDialogs.pas * Fixed problem where calling ReadStateFromRegistry from a Shell Dialog would result in a Stream Read Error exception. RzSpnEdt.pas * Fixed issue where cursor position moved when user changed the value of the TRzSpinEdit. RzTabs.pas * When focusing a TRzPageControl with nonvisible Tabs, the control now ensures that the control on the tabsheet can indeed get focus before actually trying to focus the control. * Removed exceptions that were generated when RestoreDC returns 0. On some systems this return value would occur even though there wasn't a problem. * Deleting the first tab in a TRzTabControl that is selected now correctly selects the next tab, if one is present. * Modified the drawing of the tsSingleSlant and tsDoubleSlant tab styles so that the tabs appear softer (rounded) at the corners. RzTray.pas * Fixed problem where OnRestoreApp event would get fired twice when the app was manually restored. * Fixed problem where tray icon would disappear when running on Win98 and other versions that did not support Shell32 v5 or higher. * Removed the FORM_HANDLES_TRAY_MSGS conditional symbol. If an apps needs to handle the wm_QueryEndSession or wm_EndSession messages, they can handle the new OnQueryEndSession or OnEndSession events. * Added new OnQueryEndSession and OnEndSession events. If an app is minimized to the system tray, then the app's main form does not receive the wm_QueryEndSession nor the wm_EndSession message. These new events allow a tray icon app to handle these messages. RzTreeVw.pas * Added OnCascadeComplete event to TRzCheckTree. This event fires when a node's check state changes and all parent nodes and child nodes have been updated accordingly. -------------------------------------------------------------------------------- Build: 3.0.12 Date: 15 Dec 2004 -------------------------------------------------------------------------------- RzGroupBar.pas * Further refined solution to problem of hidden groups not appearing when made visible. This in turn fixed the problem introduced in 3.0.11 of not being able to resize the height of groups. RzPanel.pas * Added back the code in the TRzCustomPanel.SetBounds method override that repositions panels aligned to the right or bottom when their size changes. This code was commented out in 3.0.11 in an attempt to address an issue where the TRzStatusBar was getting its Top property changed during loading if the status bar's Align property was set to alNone. However, commenting out this code causes a more significant problem that can occur where a panel-based control is aligned alRight or alBottom and there is another control also aligned alRight or alBottom adjacent to the panel-based control. If the size of the panel is changed the order of all the controls aligned in the same direction get re-ordered. This situation is deemed more significant than the issue with an alNone aligned status bar and thus the code has been reverted. RzTray.pas * Added SupportsBalloonHints method to TRzTrayIcon. This function can be used to determine if BalloonHints are supported by the current operating system. -------------------------------------------------------------------------------- Build: 3.0.11 Date: 12 Dec 2004 -------------------------------------------------------------------------------- Added Delphi 2005 Support RzBckgnd.pas * Fixed problem where TRzBackground would display a white rectangle if the starting and stopping colors were the same and the gradient direction was one of the "box" styles. RzBHints.pas * Fixed problem where displaying a TRzCustomHintWindow would cause the window to be repeated displayed, and thus making it appear that the hint window was not being displayed at all. * Fixed problem where changing HintPause or HintShortPause at design-time changed the Application object for the Delphi IDE. RzBorder.pas * Added code in TRzMeter.SetMin and SetMax to prevent the two values from being set to the same value. RzBtnEdt.pas * Fixed problem when changing the ButtonKind or AltBtnKind properties to bkDropDown would prevent future changes to the ButtonKind (AltBtnKind) property to take affect. RzButton.pas * Added UseGradients and ThemeAware properties to TRzToolButton. * Fixed alignment and position issues of DropDown arrows and menus when running under RTL systems. * Published Align property. * Fixed problem where the TRzButton and descendants would keep the input focus when the control was disabled. RzCmboBx.pas * Fixed problem where combo box could still be modified when ReadOnly set to True and the Style was set to csOwnerDrawFixed. * Fixed problem where auto-complete functionality would not update text correctly in cases where the data-aware version would reset its data. RzCommon.pas * Added ComplementaryColor function. * Added the new TRzMenuController component, that alters the appearance of TMainMenu and TPopupMenu menu items to reflect a more modern UI and match the display capabilities of the TRzToolButton component. RzDBCmbo.pas * Surfaced inherited KeepSearchCase property in TRzDBComboBox. * Fixed issue where drop-down button of TRzDBLookupComboBox would get displayed on the wrong side of the control in certain circumstances while running under RTL locales. RzDBGrid.pas * Fixed problem where inplace edit would not match the Color property of the grid itself. RzDBNav.pas * Free FImageIndexes object in destructor of TRzDBNavigator. RzEdit.pas * Fixed problem where drop down button of TRzDateTimeEdit and TRzColorEdit was not drawn using DisabledColor when the control was disabled and FlatButtons was set to True. * Fixed problem where initial value would not be formatted correctly if DisplayFormat was not the default *and* AllowBlank was set to True. * Addd OnViewDateChange event to TRzDateTimeEdit, which fires when the month (i.e. view) of the drop-down calendar is changed by the user. RzGrafx.pas * Fixed problem where PaintGradient would display a white rectangle if the starting and stopping colors were the same and the gradient direction was one of the "box" styles. RzGrids.pas * Fixed problem where inplace edit would not match the Color property of the grid itself. RzGroupBar.pas * Fixed problem where a List Index out of Bounds exception would get raised if a TRzGroupBar did not have any groups in it and was set to gbsOutlook. * Fixed problem where Caption of TRzGroup in gbsTaskList style would get clipped if the group was too thin. * Fixed problem where setting a TRzGroup's Visible property to False at design-time did not hide the group at runtime. * Fixed problem where a group that was hidden does not appear when made visible. The problem was that the open height of the group was set to 0. RzLabel.pas * Fixed problem with alignment of Caption when running under RTL systems. RzListVw.pas * Fixed problem where TRzListView did not honor the TPopupMenu.AutoPopup property when invoking a context menu. * Moved the ResetHeaderHandle method to the public section. This method is normally called in the Loaded method to take care of situations where the header handle has been changed. (Typically, when the list view is on a frame.) However, if the frame is created dynamically and not loaded from a DFM file, the ResetHeaderHandle method will not be called and thus must be called manually by the user. This is only necessary if custom framing is also being used by the list view. RzPanel.pas * Added UseGradients, GradientColorStart, GradientColorStop, and GradientDirection properties to TRzPanel and TRzToolbar. * Fixed problem where using &'s in TRzGroupBox.Caption would cause spaces in the border to the right of the caption. * Fixed problem where Top property of TRzStatusBar would get altered during loading when Align property set to alNone. RzPopups.pas * Fixed problem where double-clicking on a TRzCalendar would cause an exception if the control was hidden as a result of code executed in the event handler. * Fixed issue where Month arrows would not inc/dec month values correctly when running under an RTL system. * Added OnViewDateChange event to TRzCalendar, which fires when the user changes the month (i.e. view) of the calendar. RzPrgres.pas * Fixed problem where ThemeAware property would not be honored unless component was parented by a TRzStatusBar. RzShellCtrls.pas * Added sloFilesCanBeFolders to TRzShellList.Options. * Improved multi-language capability with non-English codepages. * Fixed declaration of OnAdvancedCustomDrawSubItem. * Improved auto-expand when dragging over TRzShellTree. RzShellDialogs.pas * Added osoFilesCanBeFolders option. * Added FormPosition property to all Shell Dialogs, which allows the user to control the positioning of the dialog. Default is poScreenCenter. * Added FormLeft and FormTop properties to all Shell Dialogs. Use these properties when setting FormPosition to poDesigned. RzShellUtils.pas * Fixed memory leak in IsNetworkDriveConnected. * Added SHELL32_VER. RzSplit.pas * Remove UseGradients code in TRzSplitter and TRzSizePanel. This property has been moved up to TRzCustomPanel. * Fixed problem where specifying BorderInner/BorderOuter in TRzSizePanel to something other than fsNone caused the HotSpot button to disappear. * Added new Side property to TRzSizePanel that is used when the Align property is set to alNone or alCustom to indicate which side the panel will close to. RzSpnEdt.pas * Surfaced Align, Anchors, and Constraints properties for TRzSpinner. * Added ShowHexValue and HexValuePrefix properties to TRzSpinner. RzTabs.pas * Fixed problem where keyboard cursor keys would navigate in the opposite order depending on certain conditions. * Changed DragDrop event dispatch method so that OnDragDrop event would fire after the active tab was moved. * Fixed problem where deleting a tab from the TRzTabControl's Tabs collection caused a memory leak. * Added DblClickUndocks property to TRzPageControl. This property is True by default. When set to False, double-clicking on a docked page does NOT undock the page. * Tabbing (i.e. setting focus) to a TRzPageControl where the active page's tab is not visible now causes the focus to move to the first control on the page that is able to receive the input focus. RzTray.pas * Removed exceptions that were raised as a result of the Shell_NotifyIcon function from returning an error code. If Shell_NotifyIcon returns False, the Enabled property gets set to False. * Fixed problem where ShowBalloonHint would truncate the balloon hint text too short. * If an app is minimized to the system tray, then the app's main form does not receive the wm_QueryEndSession message. This is caused by the call to AllocateHWnd. If a user needs to process the wm_QueryEndSession message, then the RzTray.pas file will need to be recompiled and the FORM_HANDLES_TRAY_MSGS symbol defined. In addition, the owner form needs to override the WndProc method and after calling inherited, pass the Msg to the TRzTrayIcon.MsgWndProc method. * Removed 64 character check on length of hint string when setting the Hint property. If the Hint is longer than the length allowed by the operating system, then only the first N characters are used. RzTreeVw.pas * Fixed problem where OnNodeContextMenu would not get generated in the TRzCheckTree component. -------------------------------------------------------------------------------- Build: 3.0.10 Date: 26 Dec 2003 -------------------------------------------------------------------------------- RzBHints.pas * Set TRzBalloonHints.Font.Color to clInfoText as default. RzBorder.pas * Fixed problem where setting TRzLEDDisplay.ScrollDelay to a small value (e.g. <10) caused CPU utilization to spike up very high. RzButton.pas * Fixed problem where the TRzToolButton would not display the separator line when in tsDropDown mode and a Standard Action was assigned to the button. RzCmboBx.pas * Fixed problem where inserting MBCS characters in the middle of the text in the combo box would result in incorrect characters being displayed. * Fixed problem where changing ParentColor to True in a control using Custom Framing did not reset internal color fields used to manage the color of the control at various states. * The TRzImageComboBox now allows keyboard access under all versions of Windows except Windows NT 4.0. RzCommon.pas * Fixed problem where FPath instance field of TRzRegIniFile was not updated when a default location (e.g. INI file or Reg Key) was generated by the component. RzDBEdit.pas * Fixed problem in TRzDBDateTimeEdit where using Minus key or Down Arrow key to change time value would result in an incorrect time value if the change would cause the time to be earlier than midnight (i.e. 12:00 am). * Enhanced TRzDateTimeEdit to allow entry of unformatted 8-digit date strings and correctly convert it to an actual date. * Fixed problem where changing ParentColor to True in a control using Custom Framing did not reset internal color fields used to manage the color of the control at various states. RzDBGrid.pas * Fixed problem where changing ParentColor to True in a control using Custom Framing did not reset internal color fields used to manage the color of the control at various states. RzDesignEditors.pas * Added TRzPageControlSprig and TRzTabSheetSprig classes to handle displaying the tab sheets in a TRzPageControl appropriately in the Object Tree View. RzDTP.pas * Fixed problem where changing ParentColor to True in a control using Custom Framing did not reset internal color fields used to manage the color of the control at various states. RzEdit.pas * Fixed problem in TRzDateTimeEdit where using Minus key or Down Arrow key to change time value would result in an incorrect time value if the change would cause the time to be earlier than midnight (i.e. 12:00 am). * Fixed problem where jumping to a line in a TRzMemo that was out of view would not cause the memo to scroll so that the cursor position was visible. * Enhanced TRzDateTimeEdit to allow entry of unformatted 8-digit date strings and correctly convert it to an actual date. * Fixed problem where changing ParentColor to True in a control using Custom Framing did not reset internal color fields used to manage the color of the control at various states. * Fixed problem with Line and Column properties of TRzRichEdit. The same technique used by the TRzMemo causes an access violation when applied to a rich edit control. RzFilSys.pas * Fixed problem where changing ParentColor to True in a control using Custom Framing did not reset internal color fields used to manage the color of the control at various states. RzForms.pas * Added the TRzFormShape.RecreateRegion method that can be called after assigning a new image to the control so that a new region is created to shape the form. RzGrids.pas * Fixed problem where changing ParentColor to True in a control using Custom Framing did not reset internal color fields used to manage the color of the control at various states. RzGroupBar.pas * Added ItemSelectionStyle to TRzGroup and TRzGroupController. This property determines whether the image associated with an item is highlighted when selected, or the item's Caption. * Fixed problem where clicking on the first visible item in a group (in gbsOutlook style) would select the first item in the group instead of the first visible item. * Fixed problem where Font.Style settings were ignored by group items when assigned to an action or have an OnClick event handler. * Fixed problem where hints would not show up correctly when the mouse was positioned over the image associated with a group item. RzLaunch.pas * When the Execute method is used to start a process, the HInstance and HProcess properties are now set to the values of the process that was started. * As a result of the above change, the Execute method will no start a process if the component is currently monitoring another process that was started using the Launch method. RzListVw.pas * Fixed problem where headers of list view would not display hot tracking when running under Windows XP Themes *and* the control was reparented. * Fixed problem where changing ParentColor to True in a control using Custom Framing did not reset internal color fields used to manage the color of the control at various states. * Fixed problem where context menu associated with the PopupMenu property would not be invoked when user right-clicked on empty area of list view. RzLstBox.pas * Fixed problem where calling InsertItemIntoGroup (or AddItemToGroup) did not call the GetItems method to access the correct Items property when called from the TRzCheckList class. * Fixed propblem where pressing Escape when editing an item in TRzEditListBox on a modal form would close the form and not close the edit box. * Fixed problem where changing ParentColor to True in a control using Custom Framing did not reset internal color fields used to manage the color of the control at various states. RzPathBar.pas * Initial release of TRzPathBar component. RzPopups.pas * Enhanced StrToDateEx procedure to accept 8-digit strings (e.g. MMDDYYYY) without separators and correctly convert it into an actual date. RzRadGrp.pas * Fixed problem where OnClick and OnDblClick events were not getting fired by the TRzRadioGroup and TRzCheckGroup controls. RzShellCtrls.pas * Fixed calls to SystemParametersInfo to obtain mouse hover times. * Fixed slow operation of TPTShellTree when mapped, disconnnected network drives were present. RzShellDialogs.pas * Added properties to base Shell Dialog control to allow shell dialogs to use Custom Framing and HotTracking. RzShellUtils.pas * Added IsNetworkDriveConnection function. RzStatus.pas * Added new AutoHint property to TRzStatusPane, TRzGlyphStatus, and TRzFieldStatus components. When set to True, the status pane will display the hint of the control underneath the current position of the mouse. RzTabs.pas * Fixed problem where divider line for tabs was not appearing if ShowCardFrame was True, but ShowFullFrame was False, and the tabs were positioned on a side other than top. * Added MakeControlVisible method to TRzPageControl. This method will switch to the tab sheet that contains the specified control. * Re-fixed problem where a TRzPageControl would automatically move to a new position on the (Delphi 5) form designer when clicking on the Object Inspector or Component Palette. RzTreeVw.pas * Fixed problem where NodeFromPath method would not return correct node when non-English codepages were being used. * Fixed problem where pressing space key from within an Empty TRzCheckTree would cause an AV. -------------------------------------------------------------------------------- Build: 3.0.9 Date: 22 Sep 2003 -------------------------------------------------------------------------------- RzButton.pas * Added DropDownOnEnter property to TRzMenuButton. When True, pressing Enter while the button has the focus will cause the associated drop down menu to be displayed. RzChkLst.pas * Fixed problem where ItemIndex was not being maintained in TRzCheckList when an Item's caption was changed. RzCmboBx.pas * Fixed problem where OnSelEndOK was not fired when user selects an item from a TRzComboBox by pressing Enter. RzDBEdit.pas * Added OnGetWeekNumber event to TRzDBDateTimeEdit. Handle this event to implement a customized week numbering scheme. * Added OnRangeError event to TRzNumericEdit. This event is generated when the user leaves the field and the value entered by the user exceeds the bounds defined by the Min and Max properties. * Fixed problem where Line property in TRzDBMemo and TRzDBRichEdit would not return the correct value when text was selected. RzDBGrid.pas * Surfaced OnResize event in TRzDBGrid. RzDBLook.pas * Replaced TDBGrid in lookup form with TRzDBGrid. RzDBProg.pas * Surface FrameController property introduced in TRzProgressBar. RzDBSpin.pas * Fixed problem in CMFontChanged method where SetEditRect could be called before a window handle has been allocated for the TRzDBSpinEdit. RzDesignEditors.pas * Added TRzDateTimeFormatProperty editor which handles displaying date and time format strings in a dropdown list for TRzDateTimeEdit and TRzTimePicker controls. RzEdit.pas * Added OnGetWeekNumber event to TRzDateTimeEdit. Handle this event to implement a customized week numbering scheme. * Added OnRangeError event to TRzNumericEdit. This event is generated when the user leaves the field and the value entered by the user exceeds the bounds defined by the Min and Max properties. * Fixed problem where Line property in TRzMemo and TRzRichEdit would not return the correct value when text was selected. RzGrids.pas * Surfaced OnResize event in TRzStringGrid. RzGroupBar.pas * Added FontColor and FontStyle properties to TRzGroupTemplateItem. * When creating a TRzGroup from a TRzGroupTemplate, the Tag property of the template is now transferred to the group. * Surfaced the PopupMenu property for TRzGroup. * Added ItemPopupMenu property to TRzGoup. This menu is displayed when the user right-clicks an item in the group. * Added an OnItemPopupMenu event to TRzGroup. This event is raised just before the ItemPopupMenu is displayed for an item. Use this event to make state changes or even assign differt menus to ItemPopupMenu. * Added PopupItem read-only public property to TRzGroup. This property references the TRzGroupItem for which the popup menu was displayed. This property is usefully within TMenuItem.OnClick or TAction.OnExecute event handlers to identify the group item. * Removed the OnPopupClick event of TRzGroupItem. With the above changes, this event is no longer necessary. * Added ItemPopupMenu and PopupMenu properties to TRzGroupTemplate. Also added the OnItemPopupMenu event. * Fixed problem where separator items in a TRzGroup would get hidden inappropriately. RzImageListEditor.pas * Fixed problem where Add/Replace dialog boxes allowed user to select JPG, WMF, and EMF files, which are not valid for the ImageList Editor. * Fixed problem where transparent color of Icons loaded into the editor were not calculated correctly. RzListVw.pas * Fixed problem where context menu would get redisplayed after selecting an nested menu item under certain circumstances (i.e. the list view structure was modified in some way within the event handler). * Fixed problem where placing an item into edit mode caused a stack overflow. * Fixed problem where display of header captions appear bolded when moving the mouse over the list view and ClearType was enabled on the system. * Reworked several aspects of the custom drawing of headers and the handling of sort indicators. * Fixed problem introduced in 3.0.8 where popup menus on items were not consistently being displayed when the user right-clicked on a list view item. * Fixed problem where last column was not getting sized correctly when a form containing the list view was loaded and FillLastCol was set to True. RzLstBox.pas * Fixed problem where tab stops were not being calculated correctly for a TRzTabbedListBox when an item did not have any embedded tab (#9) characters and other items did. * Modified TRzCustomListBox and descendants such that when the Items list is being updated (i.e. within a BeginUpdate..EndUpdate block), AdjustHorzExtent and AdjustTabStops are not called. The result of this is dramatically improved performance when loading files, etc into the Items list. After loading the file, call AdjustHorzExtent and/or AdjustTabStops to instruct the control to make the necessary adjustments. * Added IncrementalSearch property. * Modified AjustHorzExtent method to take into account the OwnerDrawIndent value. This is necessary for descendant controls such as the TRzCheckList that specify a non-zero return value in OwnerDrawIndent to handle the display of glyphs (e.g. check boxes). RzPanel.pas * Surface the OnPaint event and Canvas property in TRzToolbar. * Added FrameController property to TRzGroupBox. This associate FrameController can be used to change the appearance of the group box when the GroupStyle property is set to gsCustom. RzPopups.pas * Fixed problem where TRzCalendar.OnDblClick would never get fired. * Added OnGetWeekNumber event to TRzCalendar. Handle this event to implement a customized week numbering scheme. * Added Format property to TRzTimePicker. This property controls the format of the time that is displayed at the top of the control. * Set default values for TRzCalendar.CalendarColors and TRzTimePicker.ClockFaceColors. RzPrgres.pas * Added FrameController property, which can be used to control the frame that appears around the progress bar. RzRadGrp.pas * Added MouseDown event dispatch method override to TRzGroupButton in order to trap mouse clicks if the control cannot be modified. This is necessary when the radio group is a TRzDBRadioGroup and the corresponding dataset is not in edit mode (or cannot be placed into edit mode). * Added the FrameController property to both the TRzRadioGroup and the TRzCheckGroup. If the group has its GroupStyle property set to gsCustom, then the appearance of the group is controlled by the settings of the TRzFrameController. In addition, if the radio buttons/check boxes displayed within the group are set to HotTrack mode (i.e. flat), then the associated FrameController determines the coloring of the radio button/check box frames. RzSplit.pas * Fixed problem where panes of TRzSplitter would not pickup ParentColor changes. RzSpnEdt.pas * Fixed problem in CMFontChanged method where SetEditRect could be called before a window handle has been allocated for the TRzSpinEdit. RzStatus.pas * Fixed AutoSize problem in TRzCustomFieldStatus. RzTabs.pas * Fixed problem where making TabHeight or TabWidth > 0 would cause the tabs to disappear if the page control less than a certain size. * Fixed problem where if ActivePage and ActivePageDefault were different pages, then upon loading, both pages would be considered visible by the page control. * Fixed problem where all tabs would be re-colored to active page color when MultiLine = True. * Fixed problem where clicking on secondary rows of tabs (MultiLine = True) would not bring the clicked tab to the front at design-time. -------------------------------------------------------------------------------- Build: 3.0.8 Date: 29 Aug 2003 -------------------------------------------------------------------------------- RzBmpBtn.pas * Added OnMouseEnter and OnMouseLeave events. * Added Hot property to TRzBmpButton.Bitmaps property. The Hot property is used to specify a bitmap image to be displayed when the mouse is positioned over the button. RzBorder.pas * Added fsFlatRounded to inner and outer border styles for TRzBorder. * Gap between dots in TRzLEDDisplay are now drawn in BackColor value. * Fixed problem with calculation of ClientRect for TRzBorder and descendants. * Fixed problem in TRzLEDDisplay where dot dimensions were not recalculated if border style or border width of the control changed. * Fixed problem where fsFlatBold borders were not drawn with FlatColor value. * Refactored inner and outer border painting to common DrawInnerOuterBorders function. RzButton.pas * Added TRzToolButton.CMDialogChar method to handle accelerator characters in TRzToolButton captions. * Added ThemeAware property to TRzButton and descendants. This allows a developer to use a custom colored button in an application running with XP themes. * Fixed problem in TRzToolButton where clicking on an already down (i.e. exclusive) button would cause an associated action to fire thus changing the Checked state of the action. * Surfaced TRzToolButton.Font and TRzToolButton.ParentFont. RzCheckListEditor.pas * Added "Manual Tab Stops" and "Automatic Tab Stops" items to context menu for TRzCheckList. RzCheckListTabStopEditor.pas * Added TabStopsMode options to Tab Stop dialog box. * Added "Manual Tab Stops" and "Automatic Tab Stops" items to context menu for TRzTabbedListBox. RzChkLst.pas * Group code was moved from the TRzCheckList class to the TRzCustomListBox. * Fixed CheckGroup, UncheckGroup, EnableGroup, DisableGroup methods. * Added the AddItemToGroup and InsertItemIntoGroup methods. Also added the following support methods: ItemsInGroup and ItemIndexOfGroup. RzCmboBx.pas * Fixed problem where AutoDropDown functionality was not working. RzCommon.pas * Added RunningUnder function that can be used to easily determine which version of Windows is currently in use. * DrawSides function only draws sides with Color <> clNone. * Added DrawInnerOuterBorders function, which handles drawing inner and outer borders of all controls supporting inner and outer borders (e.g. TRzPanel, TRzBorder, TRzLabel, etc. ) * Added DrawGroupBarBackground procedure, which handles drawing the interior of a TRzGroupBar when GroupStyle is gbsCategoryView. This method is also used to display the new splitter bar of a TRzSplitter and a size bar of a TRzSizePanel when using the new ssGroupBar splitter style. * Fixed problem with TRzRegIniFile.ReadSectionValues where non-string values in a Registry section (i.e. key) would raise an exception. RzDBEdit.pas * Fixed problem where user could not enter a positive number into a TRzDBNumericEdit if the first character in the selection was a '-' sign. * Fixed problem where taking a screen capture of a TRzDBEdit when PasswordChar was <> #0 caused the real text to appear in the capture. * Fixed display problems when edit controls were placed on a TDBCtrlGrid. * Added OnDateTimeChange to TRzDBDateTimeEdit. This event fires whenever the date/time value in the edit field changes. * Fixed problem where selected text at beginning of a TRzDBNumericEdit that contained a '+' or '-' sign could not be replaced by pressing the '+' or '-' keys. RzDBGrid.pas * Initial release. * The TRzDBGrid is a direct descendant of the VCL TDBGrid that supports Custom Framing and additional display options for grid cells. RzDBRGrp.pas * Surfaced the OnPaint event in TRzDBRadioGroup. This is useful when GroupStyle is set to gsCustom. * When a TRzDBRadioGroup is connected to a dataset that is not active, the radio-group disables itself. RzDBStat.pas * TRzDBStatusPane now descends from the new TRzCustomFieldStatus component. RzDesignEditors.pas * Fixed problem where Traditional Style context menu item had no effect on a TRzGlyphStatus. * Fixed problem where TRzFormShape component editor would not update form designer of changes. * Added "Remove Border" item to TRzBorderEditor. * Fixed problem where Show Color Hints and Auto Size menu items for TRzColorPicker did not show correct state. * Added TRzStringGridEditor. * Added "Add a Size Panel" item to TRzFormEditor. * Added TRzFrameEditor, which is similar to the TRzFormEditor in that it provides a quick way to add various controls to the frame. * Added "Add a Group Bar" and "Add a Panel" items to TRzSizePanelEditor. * Fixed problem where TRzPageControl tab sheets (TRzTabSheet) were not selectable when the page control was created on a TFrame. * Added "Show Groups" item to TRzListBoxEditor and to TRzRankListBoxEditor. RzEdit.pas * Fixed problem where user could not enter a positive number into a TRzNumericEdit if the first character in the selection was a '-' sign. * Fixed problem where csCaptureMouse ControlStyle was causing problems if the edit was not allowed to get the focus via some user defined OnExit event handler for some other control. * Fixed problem where TRzRichEdit would not honor DisabledColor value when disabled. * Moved FFrameVisible instance field to protected section for access in TRzDBEdit. * Fixed problem where user could still display the calendar or time picker when the TRzDateTimeEdit.ReadOnly property was set to True. * TRzDateTimeEdit no longer generates the OnExit event when the calendar or time picker are displayed. * Added OnDateTimeChange to TRzDateTimeEdit. This event fires whenever the date/time value in the edit field changes. * Fixed problem where selected text at beginning of a TRzNumericEdit that contained a '+' or '-' sign could not be replaced by pressing the '+' or '-' keys. * Fixed problem where OnChange event of TRzNumericEdit would fire during program load under special circumstannce--e.g. current regional settings are different than those used by developer. RzForms.pas * Fixed problem where form position was not restored correctly when Task Bar was positioned at top of screen. * TRzFormState now verifies that a saved form is restored to a valid monitor. * Added TRzFormState.ValidMonitorAtPoint method in order to support differences between Delphi 5 and later versions of Delphi. RzGrids.pas * Initial release. * The TRzStringGrid is a direct descendant of the VCL TStringGrid that supports Custom Framing and additional display options for grid cells. RzGroupBar.pas * Fixed problem where programmatically setting an item's Selected property to True did not cause the corresponding group's ItemIndex property to be updated appropriately. * System cursor (IDC_HAND) is now used instead of the custom hand cursor when running under Windows 98 or higher. * Added new GradientPath property to TRzGroupBar. This property controls the way the gradient background of the group bar is drawn. * Added ItemStaticFont property to TRzGroup. Use this property to specify a different font for items in a group that do not have an OnClick event handler nor an assigned Action. * Added FlatColorAdjustment property. * Fixed problem where setting BorderInner or BorderOuter to fsFlatBold would not display border. * Added fsFlatRounded to inner and outer border styles. * Refactored inner and outer border painting to common DrawInnerOuterBorders function. * Fixed problem in WMNCCalcSize where border styles of fsFlatBold and the new fsFlatRounded were not property considered in the size calculation. * Added OnMouseOverItem event to the TRzGroup component. This event is triggered as the mouse is moved over a linked item (i.e. OnClick or Action is assigned) in a TRzGroup. * Fixed problem where dynamically created group needed to have parent set before adding to a TRzGroupBar. * Fixed problem where removing a group from a TRzGroupBar by calling RemoveGroup would leave remants of the group on the group bar's display. * TRzGroup will now automatically hide separators that are adjacent to other separators or located at the top or bottom of the group. * Added the TRzGroupTemplate component, and the supporting TRzGroupTemplateItems and TRzGroupTemplateItem classes. The TRzGroupTemplate component is used to define a template (of items) that can be used to dynamically create actual instances of TRzGroup controls. * The TRzGroupBar.AddGroup and TRzGroupBar.InsertGroup methods have been overloaded with versions that accept a TRzGroupTemplate. These methods create a new instance of a TRzGroup and populate the group with items matching those defined in the template. * Added the TRzGroupController component. This nonvisual component can be used to manipulate the appearance of multiple TRzGroup controls via the properties of the TRzGroupController component. RzGroupBarEditor.pas * Fixed problem where group items with a Caption of '-' appeared as a separator line rather than a menu item in the "Edit Item" context menu. RzLabel.pas * Fixed problem where changing Color to clWindow would not get streamed correctly. * Added FlatColorAdjustment property. * Added FrameController property. * System cursor (IDC_HAND) is now used in TRzURLLabel instead of the custom hand cursor when running under Windows 98 or higher. * Added CondenseCaption property to TRzLabel. When set to ccAtEnd, if the Caption does not fit within the control's bounds, the end of the string is replaced with an ellipsis (...). When set to ccWithinPath, if the Caption is condense so that the start and end of the path string is displayed within the bounds of the control. * Added fsFlatRounded to inner and outer border styles. * Refactored inner and outer border painting to common DrawInnerOuterBorders function. * Fixed problem where under certain cases the bounds of a TRzLabel component that had a BorderWidth > 0 would not be adjusted when AutoSize was True. RzListVw.pas * Fixed problem where background of items in list view were not being displayed correctly when the component was disabled. That is, the background was not being drawn using DisabledColor. * Fixed problem where header captions would not get updated correctly after a drag operation. * Fixed problem where header would not display images assigned to the Columns[i] items. * Fixed problem where header was not drawn correctly under certain conditions when using Windows XP Themes. * When running under Windows XP, header no longer use HDF_SORTUP and HDF_SORTDOWN styles for displaying the sort indicator. Instead, the indicator is drawn using the implemented owner- draw code. The reason for this change is that the standard list view control does not support displaying a sort indicator *and* an image. * Fixed problem where context menu was being displayed in the wrong position. * Modified the SortByColumn method such that it specifies a default parameter to control the direction of the sorting operation. RzLstBox.pas * Moved group support from the TRzCheckList control into the base TRzCustomListBox control. This includes the group-related properties (GroupColor, GroupFont, GroupPrefix, UseGradients, ShowGroups), as well as all the group-related support methods. * Fixed range error when using the Mouse Wheel and list box has more than 65,535 items. RzPanel.pas * Surfaced the OnPaint event in TRzGroupBox. This is useful when GroupStyle is set to gsCustom. * Surfaced Align, Anchors, and Constraints properties in TRzSpacer. * Added fsFlatRounded to inner and outer border styles. * Refactored inner and outer border painting to common DrawInnerOuterBorders function. RzPanelEditor.pas * Added an "Add a Nested Panel" item to context menu. RzPopups.pas * Made change to TRzPopup.Popup method so that when a popup window is displayed by a control, the CPU utilization no longer hits 100%. RzPrgres.pas * Fixed problem where fsFlatBold borders were not drawn with FlatColor value. * Added fsFlatRounded to inner and outer border styles. * Refactored inner and outer border painting to common DrawInnerOuterBorders function. RzRadGrp.pas * Surfaced the OnPaint event in TRzRadioGroup and TRzCheckGroup. This is useful when GroupStyle is set to gsCustom. RzSelectImageEditor.pas * Reconnected Edit Hint and Delete popup menu items in the Custom images group box. RzShellCtrls.pas * Surfaced Align property in TRzShellCombo. * Fixed problem in TRzShellTree that would cause an AV when running under some versions of ComCtl32 in Windows 98. RzShellOpenForm.pas * Fixed problem where ShellList would not be initialized correctly if user specified a Filter and FilterIndex value for the TRzOpenDialog or TRzSaveDialog. * Replaced call to Application.HelpContext with a call to Application.HelpCommand to work- around the problem of HelpContext not generating a wm_Help message. RzSndMsg.pas * Modified the Send method so that directory that is current before the call to Send is restored at the end of the Send method. RzSplit.pas * When RealTimeDrag is False, pressing the Escape key will now cancel the resizing operation for both the TRzSplitter and the TRzSizePanel. * Surfaced Transparent property for TRzSplitter. * Added FlatColorAdjustment to TRzSplitter, and TRzSplitter.LowerRight and TRzSplitter.UpperLeft. * Added new ssGroupBar splitter bar style. This style is useful when the TRzSizePanel or a pane of the TRzSplitter contains a TRzGroupBar in gbsCategoryView mode. The splitter bar is drawn to match the background shading of the group bar. In order to support this, the following properties were also added: GradientColorAdjustment, GradientPath, ThemeAware, and UseGradients. RzSpnEdt.pas * System cursor (IDC_HAND) is now used in TRzSpinner instead of the custom hand cursor when running under Windows 98 or higher. RzStatus.pas * Added GetCustomKeyValue public method to TRzVersionInfo. * Fixed problem where TRzClockStatus would not auto size if Format was changed. * Surfaced Color property in TRzCustomStatusPane and all descendants. Also added the ParentFillColor property, which when True causes the FillColor to match the ParentColor and Color values. * Frame of status pane now drawn correctly when FrameStyle set to fsFlatBold. * Created new TRzFieldStatus component, which allows a field label to be displayed next to status information. This component now serves as the ancestor for the TRzVersionInfoStatus and TRzDBStatusPane components. RzTabs.pas * Initialized FShowFocusRect in constructor. * Modified GetScrollerSize and GetCloseButtonSize to take into account FixedDimension when calculating the size of the buttons. * Added AllowTabDragging property. When set to True, the tabs can be reordered by dragging them with the mouse. * Fixed problem where OnChange event was being fired when the control was first loaded. * Clearing a TRzTabControl's Tabs collection now immediately sets the TabIndex to -1. * TRzPageControl can now be a dock site and as new clients are docked to the page control, new tab sheets are created to hold the dock clients. * Made Change event dispatch method public. * Fixed problem where deleting a tab in a TRzTabControl that is not active would raize an index out of range exception. * Fixed problem where setting Form.ActiveControl to some control contained on a TRzTabSheet in a TRzPageControl would not focus that control when the form was loaded. * Fixed problem where focus rectangle would clip vertically oriented text. RzTabStopEditor.pas * Added TabStopsMode options to Tab Stop dialog box. * Added "Manual Tab Stops" and "Automatic Tab Stops" items to context menu for TRzTabbedListBox. * Added "Show Groups" item to context menu for TRzTabbedListBox. RzTray.pas * Fixed problem where setting Enabled to True, when the control was already Enabled caused an exception. * Animation of icons now only occurs at runtime. * Fixed problem where application would hang if RestoreOn was set to ticLeftClick and the icon was left-clicked while a popup menu was currently being displayed. RzTreeVw.pas * Added HighlightColor to TRzCheckTree to allow user to change check mark color. -------------------------------------------------------------------------------- Build: 3.0.6 Date: 11 Apr 2003 -------------------------------------------------------------------------------- RzBorder.pas * Added OnScrollComplete event to TRzLEDDisplay. This event is fired when Scrolling is True and the Caption has been completely scrolled across the display. RzButton.pas * Fixed problem where TRzToolButtons would not appear correctly in exclusive state while running under Windows XP Themes. * Added dt_RtlReading flag to DrawText function calls when UseRightToLeftAlignment = True. * Added BiDiMode and ParentBiDiMode properties to TRzToolButton. RzCheckGroupEditor.pas * In XP Colors context menu item event handler set ItemHotTrackColorType to htctActual. RzCommon.pas * Removed ThemeServices global variable. ThemeServices function now included in RzThemeSrv.pas. RzDBEdit.pas * Fixed problem where using the TimePicker to set the time in a TRzDBDateTimeEdit's Time to 12:00 AM did not enter 12:00 AM into the edit field. * Fixed problem where a digit could be entered to the left of a sign symbol in TRzDBNumericEdit. RzDBRadioGroupEditor.pas * In XP Colors context menu item event handler set ItemHotTrackColorType to htctActual. RzEdit.pas * Fixed problem where using the TimePicker to set the time in a TRzDateTimeEdit's Time to 12:00 AM did not enter 12:00 AM into the edit field. * Fixed problem where a digit could be entered to the left of a sign symbol in TRzNumericEdit. * Modified TRzCustomEdit.KeyDown to prevent the vk_Down key from being further processed by descendant components after the DoDropDown virtual method has been invoked. This change fixed the problem where using Alt+Down to display the TimePicker for a TRzDateTimeEdit and setting the desired time pressing Enter would not always set the time correctly. RzForms.pas * TRzFormState now only stores the Width and Height of a form if the form is resizable. RzGrafx.pas * Modified solution introduced in 3.0.5 to prevent repainting by checking that the control is operating at runtime, and not design-time. RzGroupBar.pas * Fixed problem where a group with Style=gbsOutlook and more icons than can be displayed fully would display the down scrolling button in the wrong position. * Fixed problem where a PopupMenu assigned to the TRzGroupBar would appear when the user right- clicked on a group item. In order to display a popup menu on a group item, the PopupMenu must be invoked from within the OnPopupClick event of the item. * Added ItemHotColor property. * Added dt_RtlReading flag to DrawText function calls when UseRightToLeftAlignment = True. RzLabel.pas * Added dt_RtlReading flag to DrawText function calls when UseRightToLeftAlignment = True. RzPanel.pas * Changing TRzGroupBox.GroupStyle to gsTopLine or gsCustom causes ThemeAware to be changed to False. RzPrgres.pas * Fixed painting problem of rounded corners of progress bar when used as a status pane. RzPopups.pas * Fixed problem where StrToDateEx would try to interpret the year in a date specifying a month name (e.g. April 11, 2003) as a month/year combintation without a date-separator. This lead to the entire date being considered invalid, when in fact it was a valid date. RzRadioGroupEditor.pas * In XP Colors context menu item event handler set ItemHotTrackColorType to htctActual. RzShellFolderForm.pas * Modified fix introduced in 3.0.4 to address Large Font issues (i.e. removed DeferredAutoFill). RzTabs.pas * Fixed problem where Index Out Of Range error would occur if all pages were removed from a TRzPageControl while inside a LockWindowUpdate call. * Fixed problem where Close button would be visible if TabHeight was something other than zero. * Fixed problem where ActivePageIndex property would cause an access violation if no page was currently active. * Fixed problem where TRzPageControl would move at design-time if user clicked on a new tab and then clicked on another designer form such as the Object Inspector. * Added Tag and Data properties to TRzTabCollectionItem. * Added Data property to TRzTabSheet. * Adjusted position of tab scroller buttons and close button (if visible) such that they take into account the Margin property value. * Fixed problem where scroller button enabled states were incorrect when orientation was toRight. * Added ShowFullFrame property to TRzPageControl. When this property is set to False, only the portion of the frame that is adjacent to the tabs is drawn. * Added OnResize event to TRzTabSheet. * Fixed problem where Anchors were not being honored for controls that appeared on non-active tabs in a TRzPageControl -and- the page control was resized before switching to the other tabs. --------------------------------------------------------------------------------