A Fox Consulting & Design

FoxControls For Delphi 4, 5 and 7

FoxControls is a set of custom-designed Delphi components that provide enhanced (or fixed) visual effects over their standard Delphi VCL counterparts, chief of which are transparency and having either a 3D or flat look.

FoxCOntrols Demo Screenshot
Download Demo

The root of these controls came about during the dark, early January morning hours when I was hunting the internet for a transparent TGroupBox, TCheckBox and TRadioButton control for Delphi. The rest of the FoxControls components came along over time as specific needs for them arose.

FoxControls was developed for use with Delphi 4, 5 and 7 applications running under Windows XP. The FoxControls components are not guaranteed to function correctly under other operating systems or versions of Delphi.

FoxControls is FREEWARE!

Despite the many hours spent making these controls into what they are today, parts of older, base code have their roots in pieces of public domain source code. In the intrest of free source sharing among other developers the FoxControls are being released into the public domain. They are being provided AS-IS with no warrenty whatsoever.

As of 2012 active development on FoxControls has been suspended in lieu of the fact that many of the new features provided with FoxControls have already been incorporated in the newer versions of Delphi. The FoxControls continue to remain a powerful and viable solution to users of older versions of Delphi.

Feature Breakdown

FoxCheckBox and FoxRadioButton are enhanced versions of the standard TCheckBox and TRadioButton controls. The controls are a little bigger and lots of new display options are available.
FoxGroupBox and FoxPanel are transparent versions of the standard TGroupBox and TPanel controls.
FoxRadioGroup is a transparent version of the standard TRadioGroup control, and relies on the TFoxRadioButton component.
FoxGroupBoxWithCheck integrates a TFoxGroupBox and a TFoxCheckBox to provide a transparent groupbox whose contents can be enabled or disabled via a checkbox.
FoxEdit, FoxMemo, and FoxListBox are enhanced versions of the standard TEdit, TMemo and TListBox controls with additional visual properties including transparency.
FoxStaticText is an enhanced version of the standard TStaticText control with addditional visual properties including transparency and borders.
FoxButton is an enhanced version of the standard TButton with additional visual properties including color, multi-line captions and glyphs.
FoxBackground is a simple TGraphicControl used to easily provide gradient fill or tiled image backgrounds.

The following grid lists the new (N) or fixed (F) properties for each of the FoxControl components compared to their standard Delphi counterparts:

Alignment
N
N
N
N
N
AutoSize
N
N
N
F
Border
N
N
N
N
BorderColor
N
N
N
N
BorderVisible
N
N
N
CheckColor
N
N
N
N
CheckStyle
N
N
N
N
CheckType
N
N
Color
N
N
N
N
F
Ctl3D
F
F
F
F
F
N
Enabled
F
F
F
FocusHighlight
N
N
N
N
N
N
N
N
GroupIndex
N
HighlightColor
N
N
N
N
N
N
N
N
HintSecondLine
N
N
HotTrack
N
N
N
N
N
HotTrackFontColor
N
N
N
N
N
Raised
N
N
ReadOnly
N
N
N
N
Transparent
N
N
N
N
N
N
N
N
N
N
Transparency
N
N
N
N
N
TransparentCenter
N
N
N
N
WordWrap
N
N
N

(please refer to HISTORY.TXT for additional added properties specific to individual components)

Detailed description of new or fixed properties

Alignment (either TAlignment or TLeftRight) - For edit controls this sets the text alignment, for check controls this sets the positioning of the check box or radio button

AutoSize (Boolean) - Why Delphi never included this I have no idea. Setting AutoSize = True auto-sizes the component's width to the caption text

Border (fbLowered, fbNone, fbRaised, fbSimple) - Adds a raised, lowered, or simple border around the component

BorderColor (TColor) - Defines the border color when Border = fbSimple

BorderVisible (bvAlways, bvWhenFocused) - Sets displaying the border permanently or only when focused<

CheckColor (TColor) - Sets the color of the checked part of the component

CheckStyle (fs3D, fs3DJumbo, fsFlat) - selects one of three styles to draw the selected check type

CheckType (fcCheck, fcCircle, fcCross) - Selects one of three pre-defined check mark glyphs

Ctl3D (Boolean) - Toggles drawing the component either 3D or flat

Color (TColor) - Defines the color of the component's rectangle

FocusHighlight (Boolean) - Allows the component's color to change when focused

GroupIndex (Integer) - Allows for multiple groups of FoxRadioButtons to occupy the same parent control without having to use a FoxGroupBox

HighlightColor (TColor) - Defines the color of the component when focused and FocusHighlight = True

HintSecondLine (String) - Provides for a second line of hint text

HotTrack (Boolean) - Allows component to become highlighted and text to change color when the mouse moves over it

HotTrackFontColor (TColor) - Defines the color of the component's font when mouse moves over component and HotTrack = True

Raised (Boolean) - Gives a radio button a raised look when unchecked

ReadOnly (Boolean) - Blocks users from changing the component's state

Transparent (Boolean) - Makes the component's background transparent

TransparentCenter (Boolean) - Makes the component's radio button or checkbox interior transparent

Transparency (Byte) - Enables variable transparency / alpha blending (value of 0 to 100) of the component's background

WordWrap (Boolean) - Allows a component's caption to span multiple lines (AutoSize must be False, same as TLabel functionality).

Additional Features (TFoxCheckBox and TFoxRadioButton)

Properties that have been dropped

Credits

The FoxControls would not exist today were it not for the generous and mutual sharing of source code among developers on the internet. As such the FoxControls are public domain as well. Some of the source code fragments used in the initial construction of the FoxControls are credited below:

The TFoxCheckBox and TFoxRadioButton components were originally based on the freeware component TPCheck version 3.10
Copyright © 2000-2001 by Peric
E-mail: pericddn@ptt.yu
http://www.ptt.yu/korisnici/p/e/pericddn/ (which has apparantly been taken over by PDJTools)

The TFoxRadioButton Paint event and sibling handling code was taken from Sgt. Galen Smallen/Jason Looney's freeware TRANSRAD component.

The transparency code for TFoxEdit, TFoxMemo and TListBox was taken from:
http://www.swissdelphicenter.ch/torry/showcode.php?id=714
http://www.delphi3000.com/articles/article_935.asp?SK
http://groups.google.com/group/alt.lang.delphi/msg/88720567e19613bf?dmode=source

Some of the TFoxButton code is based on:
http://delphi.about.com/library/weekly/aa061104a.htm

Thanks go to Marcelo Galvêas for aiding in ongoing internal improvements for compatiblity with newer versions of Delphi.

FoxControls for Delphi
FoxControls version 2.00
(Please see the included README.TXT file before installing)
FREE! Download
FoxControls Version HistoryView
FoxControls Demo ApplicationDownload