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.


Download Demo

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.


History:

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.

First, I found the TrCtrls component set by S.Kurinny & S.Kostinsky (also known as Drean Controls by Altium Limited), but I soon found out that these components were horribly slow and interfered badly with a set of professional database components I use. The expensive ($200) RAIZE components, or at least the 30 EURO TAdvGroupBox components were considered. Finally I found some pieces of freeware Delphi code that I re-wrote and eventually became my "Holy Trinity" of transparent controls: TFoxCheckBox, TFoxRadioButton, and TFoxGroupBox. The rest of the FoxControls components came along over time as specific needs for them arose.


FoxControls is FREEWARE!

Many of the features of the FoxControls have their roots in pieces of public domain source code. I have also invested many of my own hours over the years tweaking and enhancing the components into what you see today. 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


back to main page.