Sign in Join
Wiki copytemporary

ExCtrls

English · Русский

About

ExCtrls is a collection of controls which try to overcome limitations posed by the widgetset. Moreover, some missing controls are added.

Authors

The package is written by Werner Pamler, but re-uses a lot of code of the LCL components written by the Lazarus team. The TColumnComboBoxEx was contributed by Howard Page-Clark.

License

Modified LGPL (with linking exception, like Lazarus LCL)

Download and Installation

Development version

Use an svn client to download the current trunk version from svn://svn.code.sf.net/p/lazarus-ccr/svn/components/exctrls. Alternatively download the zipped snapshot from https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/exctrls/ and unzip it to some folder.

Release version

There is no release version, yet.

Installation

Usage

Sample code

The application of each component is demonstrated by a project in the folder examples coming along with the component code.

TRadioButtonEx, TCheckBoxEx, TRadioGroupEx and TCheckGroupEx

These components re-implement the standard TRadioButton, TCheckBox, TRadioGroup and TCheckGroup, but inherit from TCustomControl and thus are not drawn by the widgetset but by the ThemeServices. As a consequence there are less widgetset related restrictions although the components look and behave like their original LCL counter-parts.

New features:

TCurrSpinEditEx

The default LazControls palette contains already extended spin edit controls for integers and floating point numbers (TSpinEditEx and TFloatSpinEditEx, respectively). The missing edit for currency values is implemented in package ExCtrls.

New and modified properties

TFloatSISpinEditEx

This is an extended version of TFloatSpinEditEx which accepts scientific multiplier suffixes, e.g. k for "kilo" or the factor 1000; the user can input the text '1.23k' and the Value of the component is 1230.

TColumnComboBoxEx

TColumnComboBoxEx, written by Howard Page-Clark, is a text-only combobox that displays its dropdown items list in single phrase columns, which are parsed according to the delimiter property. The column width in the dropdown is adjusted automatically to accomomodate the longest word/phrase in each column. The number of columns shown depends entirely on the number of delimiters found in each listed item, hence is an unpublished read-only property.

TCheckComboBoxEx

TCheckComboBoxEx overcomes some annoyances of the TCheckComboBox which comes with the Lazarus IDE:

Although the control inherits from TEditButton rather than from TCustomComboBox, many its properties and events are based on TComboBox; other properties were added to achieve the unique behaviour of the component:

The most important methods:

TShapeEx

TShapeEx is a TShape descendant with Header and Text properties. Both texts can consist of multiple lines and be left-/right-/top-/bottom-aligned/centered; margins can be specified. The unit is self-contained and can be used without the package.

The Shape property inherited from the TShape ancestor defines the kind of shape to be drawn (TShapeType = (stRectangle, stSquare, stRoundRect, stRoundSquare, stEllipse, stCircle, stSquaredDiamond, stDiamond, stTriangle, stTriangleLeft, stTriangleRight, stTriangleDown, stStar, stStarDown).

The properties Header and Text describe two text elements which can be displayed inside the control. They are controlled by properties of type TShapeText:

The fonts used for painting Header and Text are given by the HeaderFont and Font properties, respectively.

TProgressBarEx

A completely rewritten progressbar component with many new additional properties providing more flexibility than the original TProgressBar:

Unit ExImgList

This unit contains functions to modify existing image lists:

The unit is self-contained and can be used without the package.


From the Free Pascal wiki, page "ExCtrls", as it stood on 2024-04-26 after a change by Wp, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 2, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.