Consulting & Design
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.
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:
(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):
The TFoxCheckBox and TFoxRadioButton components were originally based on the freeware component TPCheck version 3.10
Copyright © 2000-2001 by Peric
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:
Some of the TFoxButton code is based on:
Thanks go to Marcelo Galvêas for aiding in ongoing internal improvements for compatiblity with newer versions of Delphi.
|FoxControls version 2.00|
(Please see the included README.TXT file before installing)
|FoxControls Version History||View|
|FoxControls Demo Application||Download|