Public Beta: ActionBands Update for Delphi 6.02

By: John Kaster

Abstract: This is an update to the ActionBands feature of Delphi 6.02. It includes bug fixes and several feature enhancements to improve the usability and extensibility of ActionBands.

Description of Public Beta

This file updates the ActionBands feature of Delphi 6.0 with bug fixes and feature enhancements. The patch applies specifically to the Delphi 6.02 Professional and Enterprise level products. If you do not use the ActionBands features of VCL, this update is unnecessary.

Bugs Fixed/New Features

Bug Fixes:
  • Addressed issues of aligned actionbands not sizing correctly
  • Fixed problems enabling the menu button that appears at the end of the TActionToolBar
  • Fixed logic that determines if there are linked actionlists
  • Fixed hints so that they now show shortcuts if that feature is enabled from the Customize dialog
  • Fixed the OnPaint event of TCustomActionBar so that it now fires
  • Fixed hotkey '&' stripping logic
  • Fixed problems with the ChangesAllow property where items would stay disabled after using the customize dialog.
  • Fix a problem where actionbars were not invalidated after items were removed which caused a painting problem if the actionbar had a background bitmap set
  • Fixed design item selection logic
  • Fixed a problem in menu expansion logic for items with submenus
  • Fixes for menu item selection logic for improved IDE designtime support
  • Fixed a problem where ActionBands were not repainted after being disconnected from the ActionManager particularly when there is a background bitmap
  • Fixed a problem where calling TCustomActionManager.ResetActionbar didn't refresh an actionbar correctly
  • Fixed control painting for large icon ActionItem controls on an ActionBar with a background image
  • Fixed problems where menus didn't display correct for large font sizes.
  • Fixed a problem where menu items were not resetting usage data correctly upon being selected
Enhancements:
  • Published Canvas property on TActionToolbar
  • Improved some of the drawing logic to make it easier to inherit new actionbands and implement custom drawing styles.
  • Added a drag separator button to the Customize dialog to make it easy to create separators
  • Improved drag/drop logic on TCustomActionBar
  • Made the drawbackground logic easier to implement custom handling in a descendant class
  • Made TCustomActionPopupMenu.PositionPopup virtual so descendants can control the position of popup menus.
  • Changed TCustomActionMainMenuBar to gray items when the application does not have focus (new feature in W2K)
  • Improved the menu handling logic for multi-form applications
  • Simplified menu processing logic
  • Improved keyboard handling of menus in IDE designtime
  • Moved some of the menu style logic down into StdActnMenus to make descendant menu classes eaiser to write
  • Simplified TCustomMenuItem painting logic leaving more flexibility for individual menu styles
  • Added Before/After customize events to TCustomizeActionBars action
  • Made TCustomActionManager.GetActionxxx method virtual to improve extensibility
  • Changed TCustomizeActionBar action to make the Customize dialog a sub component providing design-time access to its properties

Downloading the beta

Because this is a public beta, you must agree to a disclaimer before downloading the file containing the update. When you attempt to download the file, you will be asked if you agree to the disclaimer. The file is then streamed directly from the web server. This streaming process normally prevents auto-resuming the file with a download manager. The file is currently 0.8 MB. We apologize for any inconvenience this may cause if your download gets interrupted.

You can download this file from CodeCentral. The direct link to download the file is http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=17801. The zip file download is 0.8 MB.

This file may be updated from time to time, and you can look at the detail listing for the file to find out when it was last updated, or any other specific notes regarding changes to this beta.

Installation

Because this is a beta version, you should back up the current, shipping version of the files you will be replacing with the files contained in this beta so you can restore them without having to re-install the entire product.

Special installation instructions

  1. Make sure you have Delphi 6.02 installed
  2. Close Delphi if it is running
  3. Extract the files in the ActionBands.zip file to a temporary directory
  4. Run Update.exe (included in the zip file) from your temporary directory
  5. Select your Delphi 6.0 directory (for example Program FilesBorlandDelphi6) as the directory to update
  6. Click the Browse button and select the file UndoABUpdate.upd from your temp directory
  7. Click the Update button
  8. On the Update Completed dialog click OK
  9. Click the Close button to complete the update
Here is a list of the files updated by this patch:
bin\dclact60.map
bin\dclact60.bpl
lib\dclact.dcp
lib\actnman.dcu
lib\actnctrls.dcu
lib\actnmenus.dcu
lib\stdactnmenus.dcu
lib\CustomizeDlg.dcu
lib\CustomizeDlg.dfm
lib\bandactn.dcu
lib\debug\actnman.dcu
lib\debug\actnctrls.dcu
lib\debug\actnmenus.dcu
lib\debug\stdactnmenus.dcu
lib\debug\CustomizeDlg.dcu
lib\debug\bandactn.dcu
source\vcl\actnman.pas
source\vcl\actnctrls.pas
source\vcl\actnmenus.pas
source\vcl\stdactnmenus.pas
source\vcl\CustomizeDlg.pas
source\vcl\CustomizeDlg.dfm
source\vcl\bandactn.pas

Testing

Borland is planning to release a certified version of this beta software in the future. We are providing it as a public beta to have as broad a base as possible for testing it before we certify it. This is specifically why we have made this file available for our customers to download.

Special testing instructions

None

Warnings

We have performed tests to verify that the software you may be downloading and testing works as intended. However, you may still encounter problems with using this version of the software. It has not yet been certified. Please read the disclaimer you see when downloading the file very carefully, as it provides details on Borland's legal position with respect to this public beta.

Specific warnings:

None

Feedback

Please use QualityCentral to provide feedback on this beta in the Public Beta - Delphi/VCL/ActionBands project area. If you are unable to use the currently available QualityCentral clients, use the borland.public.delphi.components.using newsgroup. If you cannot access our newsgroups with a conventional newsgroup reader, you can use a browser to access this newsgroup at http://newsgroups.borland.com.

If you encounter problems with this beta product, please provide as much detail as possible in a QualityCentral report, or in a newsgroup message if you can't use QualityCentral yet, including the platform you are running on and steps to reproduce the problem.

If you are uncertain how to configure newsgroup access, please refer to Borland's newsgroup reference pages.

Server Response from: SC2