New VCL features since Delphi 7

By: Nick Hodges

Abstract: See many of the major new VCL features available in releases after Delphi 7

VCL Features Since Delphi 7

VCL Applications are themed by default.

All new VCL applications are themed by default. Existing applications, when imported, are not themed, but can be easily themed by selecting the Project|Options|Application|Enable Runtime Themes option. By doing so, the IDE will inject a manifest file into the project resources that will properly theme the application.

Hide image

TForm.GlassFrame property

TForm now has a GlassFrame property that allow developers to control the Vista Aero glassing effect for a form.

Hide image

TTaskDialog

Use the TTaskDialog component to access the Vista Task Dialog.  Via the Object Inspector, developers can fully customize the appearance of the TaskDialog.

Hide image
Click to see full-sized image

TFileOpenDialog

Use the TFileOpenDialog to access the new Vista File Open dialog.

Hide image
Click to see full-sized image

TFileSaveDialog   Hide image
Click to see full-sized image
TFlowPanel

TFlowPanel is a TPanel descendent that allows controls placed within it to "flow" together depending on the FlowStyle property.  The default value is fsLeftRightTopBottom, meaning controls in the TFlowPanel flow from the upper left to the lower right. The functionality of a TFlowPanel is similar to that of text and other elements in a web browser.

Hide image
Click to see full-sized image

TGridPanel

TGridPanel implements a grid panel control in which each component is placed within a cell on a grid.  With a grid panel, a developer can specify the number of rows and columns on the panel, then each component is placed into the next available cell in the grid, regardless of where it is placed with the mouse. If each grid contains a control and more controls are added, the location for the new controls is determined by the ExpandStyle property. For example, using the default ExpandStyle property of AddRows, a new row is added to the grid, and each cell in the row can contain a new control.

Hide image

TCategoryButtons

The TCategoryButtons control allows a developer to create a set of buttons much like Delphi's new tool pallete. The control can contain any number of categories, and each category can contain any number of buttons.  The colors of the categories can be completely configured.   The appearance of the control can be customized with properties.  The categories can be moved at runtime if desired, and individual buttons can be moved or copied between categories as well.

Hide image

TDockTabSet

For more information on the TDockTabSet, see Using the TDockTabSet component by Jeremy North

TTrayIcon

The TTrayIcon puts an icon in the task tray for a VCL Application.  The control provide for Balloon hints and for a popup menu.

Hide image

Intellimouse support

The VCL now supports the Intellimouse API.  For instance, as shown below, middle-clicking in a TMemo component allows the user to use the mouse to scroll within the memo.  The Code Editor also supports this functionality.

Hide image

Fastcode replacements for a number of RTL functions There have been numerous additions to the VCL and RTL from the FastCode developers.
Margin/Padding values in VCL All VCL controls now have Padding and Margin Properties.  These two properties work much like they do in HTML, with Padding describing the length in pixels that a container will place controls within itself. The Margin property describes the number of pixels outside of a control that will be given space.
AlignWithMargins

When the AlignWithMargins property of a component is set to True Align property is set to something other than alNone, then the control, when doing the alignment, will take into account it's own Margin property values and the Padding property values of its container.

For instance, below is a TPanel in a form. The Panel has its AlignWithMargins property set to True, and all of it's Margin values set to 20.  In addition, the form itself has its Padding.Bottom property set to 30. 

Hide image

SnapBuffer/ScreenSnap properties

The SnapBuffer and ScreenSnap properties on TForm combine to allow a form to snap to the edges of the Windows Desktop.

See a demo of the feature here.

Rave Reporting Delphi 2007 for Win32 includes the latest version of Rave Reports CodeGear Edition

Server Response from: ETNASC01