Sign in Join
Wiki copytemporary

LCL Components: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: LCL Components

OldNewLine
1+Please choose the component about which you would like to know more:
2+
3+## [[Forms]]
4+
5+(See also the [StdCtrls unit Online Docs](https://lazarus-ccr.sourceforge.io/docs/lcl/forms/tform.html))
6+
7+<center>
8+
9+<figure>
10+<img src="l-ide-1.png" title="l-ide-1.png" />
11+<figcaption>l-ide-1.png</figcaption>
12+</figure>
13+
14+</center>
15+
16+By default Form1 is added to the project when a new graphical application is created. Additional forms may be added to the project by clicking on the 'New Form' button on tool bar or selecting 'New Form' from the file menu.
17+
18+- [[TForm]]
19+
20+## [[Standard tab]]
21+
22+(See also the [StdCtrls unit Online Docs](http://lazarus-ccr.sourceforge.net/docs/lcl/stdctrls/index-4.html))
23+
24+<center>
25+
26+<figure>
27+<img src="Component_Palette_Standard.png" title="Component_Palette_Standard.png" />
28+<figcaption>Component_Palette_Standard.png</figcaption>
29+</figure>
30+
31+</center>
32+
33+- Pointer (used to indicate you are not selecting a component)
34+
35+- Components installed by default as part of the LCL:
36+ - [[TMainMenu]], [[TPopupMenu]], [[TButton]], [[TLabel]], [[TEdit]], [[TMemo]], [[TToggleBox]], [[TCheckBox]], [[TRadioButton]], [[TListBox]], [[TComboBox]], [[TScrollBar]], [[TGroupBox]], [[TRadioGroup]], [[TCheckGroup]], [[TPanel]], [[TFrame]], [[TActionList]]
37+
38+## [[Additional tab]]
39+
40+(See also the [ExtCtrls unit Online Docs](http://lazarus-ccr.sourceforge.net/docs/lcl/extctrls/index-4.html))
41+
42+<center>
43+
44+<figure>
45+<img src="Component_Palette_Additional.png" title="Component_Palette_Additional.png" />
46+<figcaption>Component_Palette_Additional.png</figcaption>
47+</figure>
48+
49+</center>
50+
51+- Components installed by default as part of the LCL:
52+ - [[TBitBtn]], [[TSpeedButton]], [[TStaticText]], [[TImage]], [[TShape]], [[TBevel]], [[TPaintBox]], [[TNotebook]], [[TLabeledEdit]], [[TSplitter]], [[TTrayIcon]], [[TMaskEdit]], [[TCheckListBox]], [[TScrollBox]], [[TApplicationProperties]], [[TStringGrid]], [[TDrawGrid]], [[TPairSplitter]], [[TColorBox]], [[TColorListBox]], [[TValueListEditor]]
53+
54+## [[Common Controls tab]]
55+
56+(See also the [ComCtrls unit Online Docs](http://lazarus-ccr.sourceforge.net/docs/lcl/comctrls/index-4.html))
57+
58+<center>
59+
60+<figure>
61+<img src="Component_Palette_Common_Controls.png" title="Component_Palette_Common_Controls.png" />
62+<figcaption>Component_Palette_Common_Controls.png</figcaption>
63+</figure>
64+
65+</center>
66+
67+- Components installed by default as part of the LCL:
68+ - [[TTrackBar]], [[TProgressBar]], [[TTreeView]], [[TListView]], [[TStatusBar]], [[TToolBar]], [[TUpDown]], [[TPageControl]], [[TTabControl]], [[THeaderControl]], [[TImageList]], [[TPopupNotifier]]
69+
70+- Controls which are not part of the LCL, but install in this tab:
71+ - [[RichMemo|TRichMemo]]
72+ - [[DateTimeCtrls Package|TDateTimePicker]] (included in Lazarus and installed automatically with make bigide, but not officially part of LCL)
73+
74+- Tutorials:
75+ - [[TTreeView]]
76+
77+## [[Dialogs tab]]
78+
79+(See also the [Dialogs unit Online Docs](http://lazarus-ccr.sourceforge.net/docs/lcl/dialogs/index-4.html))
80+
81+<center>
82+
83+<figure>
84+<img src="Component_Palette_Dialogs.png" title="Component_Palette_Dialogs.png" />
85+<figcaption>Component_Palette_Dialogs.png</figcaption>
86+</figure>
87+
88+</center>
89+
90+- Components installed by default as part of the LCL:
91+ - [[TOpenDialog]], [[TSaveDialog]], [[TSelectDirectoryDialog]],[[TColorDialog]], [[TFontDialog]], [[TFindDialog]], [[TReplaceDialog]], [[TTaskDialog]], [[TOpenPictureDialog]], [[TSavePictureDialog]], [[TCalendarDialog]], [[TCalculatorDialog]], [[TPrinterSetupDialog]], [[TPrintDialog]], [[TPageSetupDialog]]
92+
93+- Several useful **[Dialog](http://lazarus-ccr.sourceforge.net/index.php?wiki=DialogExamples)** procedures or functions don't appear on the palette, but are easily used as direct calls from your source program.
94+
95+## [[Data Controls tab]]
96+
97+Data-aware components, which largely replicate the Standard and Additional groups but are applicable to databases:
98+
99+(See also the [DBCtrls unit Online Docs](http://lazarus-ccr.sourceforge.net/docs/lcl/dbctrls/index-4.html))
100+
101+<center>
102+
103+<figure>
104+<img src="Component_Palette_Data_Controls.png" title="Component_Palette_Data_Controls.png" />
105+<figcaption>Component_Palette_Data_Controls.png</figcaption>
106+</figure>
107+
108+</center>
109+
110+- Components installed by default as part of the LCL:
111+ - [[TDBNavigator]], [[TDBText]], [[TDBEdit]], [[TDBMemo]], [[TDBImage]], [[TDBListBox]], [[TDBLookupListBox]], [[TDBComboBox]], [[TDBLookupComboBox]], [[TDBCheckBox]], [[TDBRadioGroup]], [[TDBCalendar]], [[TDBGroupBox]], [[TDBGrid]]
112+
113+- Also on this tab:
114+ - [[DateTimeCtrls Package|TDBDateTimePicker]], which is included in Lazarus and installed automatically with make bigide, but not officially part of LCL.
115+
116+## [[Data Access tab]]
117+
118+Tha palette **Data Access** contains components for access to local and in-memory database tables.
119+
120+<center>
121+
122+<figure>
123+<img src="Component_Palette_Data_Access.png" title="Component_Palette_Data_Access.png" />
124+<figcaption>Component_Palette_Data_Access.png</figcaption>
125+</figure>
126+
127+</center>
128+
129+- Components installed by default
130+ - [[TDataSource]], [[TBufDataset]], [[TCSVDataSet]], [[TSdfDataSet]], [[TFixedFormatDataSet]], [[TDbf]], [[TParadox]], [[TMemDataset]]
131+- Also on this page:
132+ - TSqliteDataset, TSqliteDataset
133+
134+## [[System tab]]
135+
136+<center>
137+
138+<figure>
139+<img src="Component_Palette_System.png" title="Component_Palette_System.png" />
140+<figcaption>Component_Palette_System.png</figcaption>
141+</figure>
142+
143+</center>
144+
145+- Components installed by default:
146+ - [[TTimer]], [[TIdleTimer]], [[TLazComponentQueue]], [[THTMLHelpDatabase]], [[THTMLBrowserHelpViewer]], [[TAsyncProcess]], [[TProcessUTF8]], [[TProcess|wiki]], [[TSimpleIPCClient]], [[TSimpleIPCServer]], [[TXMLConfig]], [[TEventLog]]
147+- Also on this tab:
148+ - [[TCHMHelpDatabase]] and [[TLHelpConnector]], included in Lazarus and installed automatically with make bigide
149+
150+## [[SQLdb tab]]
151+
152+Non-visible components for access to "large" database systems.
153+
154+<center>
155+
156+<figure>
157+<img src="Component_Palette_SQLdb.png" title="Component_Palette_SQLdb.png" />
158+<figcaption>Component_Palette_SQLdb.png</figcaption>
159+</figure>
160+
161+</center>
162+
163+- Installed components:
164+ - [[TSQLQuery]], [[TSQLTransaction]], [[TSQLScript]], [[TSQLConnector]], [[TMSSQLConnection]], [[TSybaseConnection]], [[TPQConnection]], [[TPQTEventMonitor]], [[TOracleConnection]], [[TODBCConnection]], [[TMySQL50Connection]], [[TMySQL51Connection]], [[TMySQL55Connection]], [[TMySQL56Connection]], [[TMySQL57Connection]], [[TSQLite3Connection]], [[TIBConnection]], [[TFBAdmin]], [[TFBEventMonitor]], [[TSQLDBLibraryLoader]]
165+- No longer installed by default in 1.8.4.
166+ - [[TMySQL40Connection]], [[TMySQL41Connection]]
167+
168+## [[Misc tab]]
169+
170+<center>
171+
172+<figure>
173+<img src="Component_Palette_Misc.png" title="Component_Palette_Misc.png" />
174+<figcaption>Component_Palette_Misc.png</figcaption>
175+</figure>
176+
177+</center>
178+
179+- Components installed by default:
180+ - [[TColorButton]], [[TSpinEdit]], [[TFloatSpinEdit]], [[TArrow]], [[TCalendar]], [[TEditButton]], [[TFileNameEdit]], [[TDirectoryEdit]], [[TDateEdit]], [[TCalcEdit]], [[TFileListBox]], [[TButtonPanel]], [[TShellTreeView]], [[TShellListView]], [[TXMLPropStorage]], [[TINIPropStorage]], [[TJsonPropStorage]], TIDEDialogLayoutStorage
181+
182+## [[LazControls tab]]
183+
184+The **LazControls tab** lists various (non related) Lazarus-specific components. They are needed by the IDE but can be used also by other projects.
185+
186+<center>
187+
188+<figure>
189+<img src="Component_Palette_LazControls.png" title="Component_Palette_LazControls.png" />
190+<figcaption>Component_Palette_LazControls.png</figcaption>
191+</figure>
192+
193+</center>
194+
195+- Components installed:
196+ - [[TCheckBoxThemed]], [[TDividerBevel]], [[TExtendedNotebook]], [[LazControls|TListFilterEdit]], [[LazControls|TListViewFilterEdit]], [TLvlGraphControl](http://www.pp4s.co.uk/main/tu-form-level-graph.html), [[TShortPathEdit]], [[TSpinEditEx]], [[TFloatSpinEditEx]], [[LazControls|TTreeFilterEdit]], [[TExtendedTabControl]]
197+
198+## [[RTTI tab]]
199+
200+Specialized components for use with [[RTTI controls|runtime type information]].
201+
202+<center>
203+
204+<figure>
205+<img src="Component_Palette_RTTI.png" title="Component_Palette_RTTI.png" />
206+<figcaption>Component_Palette_RTTI.png</figcaption>
207+</figure>
208+
209+</center>
210+
211+- Installed components:
212+ - [[TTIEdit]], [[TTIComboBox]], [[TTIButton]],[[TTICheckBox]], [[TTILabel]], [[TTIGroupBox]], [[TTIRadioGroup]], [[TTICheckGroup]], [[TTICheckListBox]], [[TTIListBox]], [[TTIMemo]], [[TTICalendar]], [[TTIImage]],[[TTIFloatSpinEdit]], [[TTISpinEdit]], [[TTITrackBar]], [[TTIProgressBar]], [[TTIMaskEdit]], [[TTIColorButton]], [[TMultiPropertyLink]], [[TTIPropertyGrid]], [[TTIGrid]]
213+
214+## [[SynEdit tab]]
215+
216+SynEdit is an advanced multi-line edit control, which is integrated into the Lazarus. It is the code editor of the Lazarus IDE and is available in the directory "lazarus/components/synedit". It supports Syntax Highlighting, code completion, code folding and includes exporters for html, tex and rtf. It is a fully custom drawn component, meaning that it doesn't wrap native controls of each platform and that no external library is required; this make SynEdit a crossplatform component. Note that the SynEdit available with Lazarus is a fork of the original SynEdit for Borland Delphi, Kylix and C++Builder which can be found in [synedit at sourceforge](http://synedit.sourceforge.net)
217+
218+<center>
219+
220+<figure>
221+<img src="Component_Palette_SynEdit.png" title="Component_Palette_SynEdit.png" />
222+<figcaption>Component_Palette_SynEdit.png</figcaption>
223+</figure>
224+
225+</center>
226+
227+- Components installed by default:
228+ - [[TSynEdit]], [[TSynCompletion]], [[TSynAutoComplete]], [[TSynMacroRecorder]], [[TSynExporterHTML]], [[TSynPluginSyncroEdit]], [[TSynPasSyn]], [[TSynFreePascalSyn]], [[TSynCppSyn]], [[TSynJavaSyn]], [[TSynJSSyn]], [[TSynPerlSyn]], [[TSynHTMLSyn]], [[TSynXMLSyn]], [[TSynLFMSyn]], [[TSSynDiffSyn]], [[TSynUNIXShellScriptSyn]], [[TSynCssSyn]], [[TSynPHPSyn]], [[TSynTeXSyn]], [[TSynSQLSyn]], [[TSynPythonSyn]], [[TSynVBSyn]], [[TSynAnySyn]], [[TSynMultiSyn]], [[TSynBatSyn]], [[TSynIniSyn]], [[TSynPoSyn]]
229+ - Additional highlighters are available on <https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/extrasyn/>. This package can also be installed via [[Online Package Manager|Online package manager]]. They are collected in a separate palette **SynEdit Highlighters**.
230+
231+## [[Chart tab]]
232+
233+The **Chart tab** lists components for use with graphs and charts from the [[TAChart]] package. They are not part of the LCL, but most of them are installed by default.
234+
235+<center>
236+
237+<figure>
238+<img src="Component_Palette_Chart.png" title="Component_Palette_Chart.png" />
239+<figcaption>Component_Palette_Chart.png</figcaption>
240+</figure>
241+
242+</center>
243+
244+- Components installed by default
245+ - [[TChart]], [[TAChart documentation|TListChartSource]], [[TAChart documentation|TRandomChartSource]], ,[[TAChart documentation|TUserDefinedChartSource]], [[TAChart documentation|TCalculatedChartSource]], [[TAChart documentation|TDbChartSource]], [[TAChart documentation|TChartToolset]], [[TAChart documentation|TChartAxisTransformations]], [[TAChart documentation|TChartStyles]], [[TAChart documentation|TChartLegendPanel]], [[TAChart documentation|TChartNavScrollBar]], [[TAChart documentation|TChartNavPanel]], [[TAChart documentation|TIntervalChartSource]], [[TAChart documentation|TDateTimeIntervalChartSource]], [[TAChart documentation|TChartListBox]], [[TAChart documentation|TChartExtentLink]], [[TAChart documentation|TChartImageList]], [[TAChart documentation|TChartCombobox]],
246+- Components installed only if other packages are available:
247+ - [[TAChart documentation|TChartGUIConnectorAggPas]], [[TAChart documentation|TChartGUIConnectorBGRA]]
248+
249+## [[IPro tab|iPro tab]]
250+
251+The **IPro** palette lists components related to display of html pages. They do not belong to the IDE but are needed by the IDE to show the html-formatted popup coding hints and the chm help files.
252+
253+<center>
254+
255+<figure>
256+<img src="Component_Palette_IPro.png" title="Component_Palette_IPro.png" />
257+<figcaption>Component_Palette_IPro.png</figcaption>
258+</figure>
259+
260+</center>
261+
262+- Components installed:
263+ - [[TIpFileDataProvider]], [[TIpHtmlDataProvider]], [[TIpHttpDataProvider]], [[TIpHtmlPanel]]
264+
265+---
266+*From the Free Pascal wiki, page "LCL Components", as it stood on 2023-10-14 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](/wiki-contact).*

Back to history