Sign in Join
Wiki copytemporary

JVCL Components: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11## About
22
3-JVCL is a library of more than 600 Delphi visual and non-visual components (https://github.com/project-jedi/jvcl). Although heavily Windows-centered, some of them have been ported to Lazarus. This page intends to give a summary of the JVCL components available for Lazarus. Some of the info snippets were taken from <http://wiki.delphi-jedi.org/wiki/JVCL_Component_Overview>.
3+JVCL is a library of more than 600 Delphi visual and non-visual components (<https://github.com/project-jedi/jvcl>). Although heavily Windows-centered, some of them have been ported to Lazarus. This page intends to give a summary of the JVCL components available for Lazarus. Some of the info snippets were taken from <http://wiki.delphi-jedi.org/wiki/JVCL_Component_Overview>.
44
55## Packages
66
7-Due to the large number of components the original Delphi version is split into a variety of packages. The Lazarus port follows this convention because the user can install only the functionality needed.
7+Due to the large number of components the original Delphi version is split into a variety of packages. The Lazarus port follows this convention because the user can install only the functionality needed.
88
9-For each package, a runtime and designtime version is available. Runtime packages can be identified with an appended R, designtime packages with an appended D. In the requirements for a project always use the runtime package.
9+For each package, a runtime and designtime version is available. Runtime packages can be identified with an appended R, designtime packages with an appended D. In the requirements for a project always use the runtime package.
1010
1111### JvCore
1212
13-Provides basic functionality needed by all other packages.
13+Provides basic functionality needed by all other packages.
1414
1515### JvStdCtrls
1616
17-Depends on package *JvCore*.\
18-Enhanced standard controls
17+Depends on package _JvCore_.
18+Enhanced standard controls
1919
20-- **TJvCheckbox**: Has a property `LinkedControls`. Linked controls can be enabled/disabled according to the `Checked` state of the Checkbox.
21-- **TJvPanel**: an extended panel with hot-tracking effects and automatic placement of child components (similar to LCL's `ChildSizing` property). Can be dragged and resize at runtime. See example project *JvPanelDemo*.
22-- **JvCalcEdit**: a numeric edit control which opens a calculator dialog.
20+ * **TJvCheckbox** : Has a property `LinkedControls`. Linked controls can be enabled/disabled according to the `Checked` state of the Checkbox.
21+ * **TJvPanel** : an extended panel with hot-tracking effects and automatic placement of child components (similar to LCL's `ChildSizing` property). Can be dragged and resize at runtime. See example project _JvPanelDemo_.
22+ * **JvCalcEdit** : a numeric edit control which opens a calculator dialog.
2323
2424### JvCtrls
2525
26-Depends on packages *JvCore* and *JvStdCtrls*.\
27-Visual controls
26+Depends on packages _JvCore_ and _JvStdCtrls_.
27+Visual controls
2828
29-- **TJvBehaviorLabel**: a label with special display effects: Blinking, bouncing, scrolling, typing, appearing, "special", "code breaker". See demo *examples/JvBehaviorLabel*.
30-- ![](/wiki-images/4/46/Tjvmovablebevel.png) **TJvMovableBevel**: a bevel which can be dragged and resized at runtime
31-- ![](/wiki-images/a/aa/Tjvmovablepanel.png) **TJvMovablePanel**: the same, but now for a panel. Note that this component does not belong to JVCL, it is a simple adaption of TJvMovableBevel to the panel case.
32-- ![](/wiki-images/c/c1/Tjvruler.png) **TJvRuler**: a ruler to indicate distances in centimeters, inches or pixels
33-- ![](/wiki-images/5/5d/Tjvgroupheader.png) **TJvGroupHeader**: header with attached bevelled line.
34-- ![](/wiki-images/6/65/Tjvrollout.png) **TJvRollOut**: expandable panel with headerline.
35-- ![](/wiki-images/0/07/Tjvhint.png) ![](/wiki-images/2/2e/Tjvhtlabel.png) ![](/wiki-images/4/44/Tjvhtlistbox.png) ![](/wiki-images/3/37/Tjvhtcombobox.png) **TJvHtLabel**, **TJvHTCombobox**, **TJvHTListbox** and **TJvHint**: a set of controls which can display HTML text
29+ * **TJvBehaviorLabel** : a label with special display effects: Blinking, bouncing, scrolling, typing, appearing, "special", "code breaker". See demo _examples/JvBehaviorLabel_.
30+ * [![tjvmovablebevel.png](/wiki-images/1/1a/tjvmovablebevel.png)](</File:tjvmovablebevel.png>) **TJvMovableBevel** : a bevel which can be dragged and resized at runtime
31+ * [![tjvmovablepanel.png](/wiki-images/e/e5/tjvmovablepanel.png)](</File:tjvmovablepanel.png>) **TJvMovablePanel** : the same, but now for a panel. Note that this component does not belong to JVCL, it is a simple adaption of TJvMovableBevel to the panel case.
32+ * [![tjvruler.png](/wiki-images/3/3e/tjvruler.png)](</File:tjvruler.png>) **TJvRuler** : a ruler to indicate distances in centimeters, inches or pixels
33+ * [![tjvgroupheader.png](/wiki-images/2/2a/tjvgroupheader.png)](</File:tjvgroupheader.png>) **TJvGroupHeader** : header with attached bevelled line.
34+ * [![tjvrollout.png](/wiki-images/5/54/tjvrollout.png)](</File:tjvrollout.png>) **TJvRollOut** : expandable panel with headerline.
35+ * [![tjvhint.png](/wiki-images/8/8d/tjvhint.png)](</File:tjvhint.png>) [![tjvhtlabel.png](/wiki-images/f/f8/tjvhtlabel.png)](</File:tjvhtlabel.png>) [![tjvhtlistbox.png](/wiki-images/b/b5/tjvhtlistbox.png)](</File:tjvhtlistbox.png>) [![tjvhtcombobox.png](/wiki-images/d/df/tjvhtcombobox.png)](</File:tjvhtcombobox.png>) **TJvHtLabel** , **TJvHTCombobox** , **TJvHTListbox** and **TJvHint** : a set of controls which can display HTML text
3636
37-![](/wiki-images/2/26/JvHTCcontrols.png)
37+[![JvHTCcontrols.png](/wiki-images/2/26/JvHTCcontrols.png)](</File:JvHTCcontrols.png>)
3838
39-- **TJvComboListBox**: a listbox which can display a combobox overlaying the selected listbox item. Assign a TPopupMenu to the DropdownMenu property and it will be shown when the combo button is clicked. You can also handle the OnDropDown event for custom handling when the button is clicked, or example, displaying a drop down form. These features are demonstrated in the *JvComboListBox* example project.
40-- **TJvOfficeColorPanel**: a panel for color selection designed like the one used by Office 97.
39+ * **TJvComboListBox** : a listbox which can display a combobox overlaying the selected listbox item. Assign a TPopupMenu to the DropdownMenu property and it will be shown when the combo button is clicked. You can also handle the OnDropDown event for custom handling when the button is clicked, or example, displaying a drop down form. These features are demonstrated in the _JvComboListBox_ example project.
40+ * **TJvOfficeColorPanel** : a panel for color selection designed like the one used by Office 97.
4141
42-![](/wiki-images/c/cb/TJvOfficeColorPanel.png)
42+[![TJvOfficeColorPanel.png](/wiki-images/c/cb/TJvOfficeColorPanel.png)](</File:TJvOfficeColorPanel.png>)
4343
44-- **TJvLookupAutoComplete**: adds autocompletion of TEdit by ListBox or StringList items. (In the original JVCL, this component is in the Core package.)
44+ * **TJvLookupAutoComplete** : adds autocompletion of TEdit by ListBox or StringList items. (In the original JVCL, this component is in the Core package.)
4545
4646### JvCustom
4747
48-Depends on package *JvCore*\
49-Custom components
48+Depends on package _JvCore_
49+Custom components
5050
51-- ![](/wiki-images/7/78/Tjvvalidateedit.png) **TJvValidateEdit**: General purpose edit control for text and numbers (integer, float, currency). MaxValue, MinValue, HasMaxValue, HasMinValue - Value is corrected when Edit loses focus. See demo in *JvValidateEdit*.
52-- ![](/wiki-images/0/03/Tjvtimeline.png) **TJvTimeLine**: a one-dimensional calendar ("time-line") which can display various events and tasks. See demo *JvTimeLine*.
53-- ![](/wiki-images/f/f3/Tjvtmtimeline.png) **TJvTMTimeLine**: another timeline component. See demo *JvTMTimeLine*.
54-- ![](/wiki-images/9/9d/Tjvgammapanel.png) **TJvGammaPanel**: advanced color selection tool for foreground and background colors. See demo *JvGammaPanel*.
55-- ![](/wiki-images/b/bd/Tjvthumbview.png) **TJvThumbView**: displays a list of images as thumbnails
56-- ![](/wiki-images/4/43/Tjvoutlookbar.png) **TJvOutlookBar**: an accordeon-like bar of containers for other controls as used by Outlook 97.
57-- ![](/wiki-images/7/71/Tjvimagesviewer.png) **TJvImagesViewer**: displays a list of images as thumbnails, similar to TJvThumbView. See *JvItemViewer* demo.
58-- ![](/wiki-images/e/e9/Tjvimagelistviewer.png) **TJvImageListViewer**: dispays all images of a TImageList. See *JvItemViewer* demo.
59-- ![](/wiki-images/b/bc/Tjvownerdrawviewer_palette.png) **TJvOwnerDrawViewer**: presents arbitrary information in a grid-like view. See *JvItemViewer* demo.
51+ * [![tjvvalidateedit.png](/wiki-images/6/64/tjvvalidateedit.png)](</File:tjvvalidateedit.png>) **TJvValidateEdit** : General purpose edit control for text and numbers (integer, float, currency). MaxValue, MinValue, HasMaxValue, HasMinValue - Value is corrected when Edit loses focus. See demo in _JvValidateEdit_.
52+ * [![tjvtimeline.png](/wiki-images/c/c1/tjvtimeline.png)](</File:tjvtimeline.png>) **TJvTimeLine** : a one-dimensional calendar ("time-line") which can display various events and tasks. See demo _JvTimeLine_.
53+ * [![tjvtmtimeline.png](/wiki-images/1/1e/tjvtmtimeline.png)](</File:tjvtmtimeline.png>) **TJvTMTimeLine** : another timeline component. See demo _JvTMTimeLine_.
54+ * [![tjvgammapanel.png](/wiki-images/c/c3/tjvgammapanel.png)](</File:tjvgammapanel.png>) **TJvGammaPanel** : advanced color selection tool for foreground and background colors. See demo _JvGammaPanel_.
55+ * [![tjvthumbview.png](/wiki-images/9/9d/tjvthumbview.png)](</File:tjvthumbview.png>) **TJvThumbView** : displays a list of images as thumbnails
56+ * [![tjvoutlookbar.png](/wiki-images/6/6e/tjvoutlookbar.png)](</File:tjvoutlookbar.png>) **TJvOutlookBar** : an accordeon-like bar of containers for other controls as used by Outlook 97.
57+ * [![tjvimagesviewer.png](/wiki-images/3/33/tjvimagesviewer.png)](</File:tjvimagesviewer.png>) **TJvImagesViewer** : displays a list of images as thumbnails, similar to TJvThumbView. See _JvItemViewer_ demo.
58+ * [![tjvimagelistviewer.png](/wiki-images/7/78/tjvimagelistviewer.png)](</File:tjvimagelistviewer.png>) **TJvImageListViewer** : dispays all images of a TImageList. See _JvItemViewer_ demo.
59+ * [![tjvownerdrawviewer palette.png](/wiki-images/d/dc/tjvownerdrawviewer_palette.png)](</File:tjvownerdrawviewer_palette.png>) **TJvOwnerDrawViewer** : presents arbitrary information in a grid-like view. See _JvItemViewer_ demo.
6060
61-![](/wiki-images/e/eb/Tjvownerdrawviewer.png)
61+[![tjvownerdrawviewer.png](/wiki-images/3/3a/tjvownerdrawviewer.png)](</File:tjvownerdrawviewer.png>)
6262
63-- **TJvChart**: component for drawing time-series charts. Some bugs... See *JvChartDemo* project. Removed: Incomplete, too many bugs.
63+ * **TJvChart** : ~~component for drawing time-series charts. Some bugs... See _JvChartDemo_ project.~~ Removed: Incomplete, too many bugs.
6464
6565### JvCmp
6666
67-Depends on package *JvCore*.\
68-Non-visual components
67+Depends on package _JvCore_.
68+Non-visual components
6969
70-- **TJvStrHolder**, **TJvMultiStringHolder**: a wrapper component making it easier to work with TStrings and TStringList at design time. Using TStrHolder component you can set TStrings properties and event handlers in form designer and hold a number of strings in your forms.
71-- **TJvSpellChecker**: a spell-checker class with sample dictionaries for English and Dutch. See demo in folder *examples/JvSpellChecker* of the JVCL installation.
70+ * **TJvStrHolder** , **TJvMultiStringHolder** : a wrapper component making it easier to work with TStrings and TStringList at design time. Using TStrHolder component you can set TStrings properties and event handlers in form designer and hold a number of strings in your forms.
71+ * **TJvSpellChecker** : a spell-checker class with sample dictionaries for English and Dutch. See demo in folder _examples/JvSpellChecker_ of the JVCL installation.
7272
73-![](/wiki-images/7/7e/JvSpellChecker.png)
73+[![JvSpellChecker.png](/wiki-images/7/7e/JvSpellChecker.png)](</File:JvSpellChecker.png>)
7474
75-- **TJvProfiler**: --- to be written ---
75+ * **TJvProfiler** : --- to be written ---
7676
7777### JvDB
7878
79-Depends on packages *JvCore*, *JvStdCtrls*, and *JvCtrls*\
80-Data-aware controls
79+Depends on packages _JvCore_ , _JvStdCtrls_ , and _JvCtrls_
80+Data-aware controls
8181
82-- **TJvSearchEdit**: a TEdit with incremental search capabilities within a field of a dataset.
83-- **TJvDBLookupList** and **TJbDBLookupCombo**: lookup controls with additional features:
84- - can display more than one column (the LookupDisplay property can contain a list of columns separated by a semicolon, the column width is calculated based on Field.DisplayWidth)
85- - can display pictures (OnGetImage/OnGetImageIndex events)
86- - configurable empty value (DisplayEmpty,EmptyItemColor,EmptyStrIsNull,EmptyValue)
87-- **TJvDBTreeView**: a treeview constructed from database records. Link the unique ID field to "MasterField", the ID field of the parent node to "DetailField", and the field with the node text to "ItemField". Optionally, the field "IconField" provides the image index for the ImageList. "StartMasterValue" is the beginning level to start building the TreeView, 0 = start from the root itens, 1 = start from the second level, and so on.
88-- **TJvDBCalcEdit**: a numeric edit box which opens a calculator dialog.
82+ * **TJvSearchEdit** : a TEdit with incremental search capabilities within a field of a dataset.
83+ * **TJvDBLookupList** and **TJbDBLookupCombo** : lookup controls with additional features:
84+ * can display more than one column (the LookupDisplay property can contain a list of columns separated by a semicolon, the column width is calculated based on Field.DisplayWidth)
85+ * can display pictures (OnGetImage/OnGetImageIndex events)
86+ * configurable empty value (DisplayEmpty,EmptyItemColor,EmptyStrIsNull,EmptyValue)
87+ * **TJvDBTreeView** : a treeview constructed from database records. Link the unique ID field to "MasterField", the ID field of the parent node to "DetailField", and the field with the node text to "ItemField". Optionally, the field "IconField" provides the image index for the ImageList. "StartMasterValue" is the beginning level to start building the TreeView, 0 = start from the root items, 1 = start from the second level, and so on.
88+ * **TJvDBCalcEdit** : a numeric edit box which opens a calculator dialog.
8989
90-> **Note:** The packages *JvStdCtrlsLazR* and *JvCtrlsLazR* must have been compiled before this package can be installed.
90+![Light bulb](https://upload.wikimedia.org/wikipedia/commons/d/d8/Nuvola_apps_ktip.png) **Note:** The packages _JvStdCtrlsLazR_ and _JvCtrlsLazR_ must have been compiled before this package can be installed.
9191
9292### JvAppFrm
9393
94-Depends on package *JvCore*\
95-Components for applications and forms
94+Depends on package _JvCore_
95+Components for applications and forms
9696
97-- **JvAppAnimatedIcon** and **JvFormAnimatedIcon**: display an animated icon (created from an imagelist) in the taskbar and in the form's title bar, respectively.
98-- **JvAnimTitle**: provides an animated form title
99-- **JvFormWallpaper**: tiles the background of a form with an image.
97+ * **JvAppAnimatedIcon** and **JvFormAnimatedIcon** : display an animated icon (created from an imagelist) in the taskbar and in the form's title bar, respectively.
98+ * **JvAnimTitle** : provides an animated form title
99+ * **JvFormWallpaper** : tiles the background of a form with an image.
100100
101101### JvHMI
102102
103-Depends on package *JVCore*.\
104-The packages JvHDMILazR (run time) and JvHDMILazD (design time) provide some components for designing a "human-machine-interface" (HMI).
103+Depends on package _JVCore_.
104+The packages JvHDMILazR (run time) and JvHDMILazD (design time) provide some components for designing a "human-machine-interface" (HMI).
105105
106-- **JvLED**: an LED indicator. See demo *examples/JvLED*.
107-- **JvDialButton**: a rotatory knob. See demo *examples/JvDialButton*.
106+ * **JvLED** : an LED indicator. See demo _examples/JvLED_.
107+ * **JvDialButton** : a rotatory knob. See demo _examples/JvDialButton_.
108108
109109### JvJans
110110
111-Depends on package *JvCore*.\
112-Named after the original author, Jan Verhoeven, who donated these components to the JEDI project. The following components have been ported:
111+Depends on package _JvCore_.
112+Named after the original author, Jan Verhoeven, who donated these components to the JEDI project. The following components have been ported:
113113
114-- [[JvSIM components|TJvSIM components]]: a set of components for simulation of digital and analog electronics.
115-- ![](/wiki-images/e/e8/Tjvjanled.png) **JvJanLED**: an LED indicator component (not contained in original JVCL, ported from Jan Verhoeven's own repository).
116-- ![](/wiki-images/a/a0/Tjvjantoggle.png) **JvJanToggle**: a toggle button with an on and off area (not contained in original JVCL, ported from Jan Verhoeven's own repository).
117-- ![](/wiki-images/d/d3/Tjvmarkupviewer.png) **JvMarkupViewer** and ![](/wiki-images/5/57/Tjvmarkuplabel.png) **JvMarkupLabel**: display simple HTML-formatted text (font-related tags only). Similar to JvHTControls.
118-- ![](/wiki-images/c/c0/Tjvgridfilter.png) **TvGridFilter**: a component for filtering rows in a column-oriented stringgrid. Call `Filter(condition)` to hide all rows meeting the specified condition string, e.g. `[Business]="Music"` removes all rows in which the strings in the column titled `Business` are equal to `Music`. Allowed operators are `=`, `<>`, `<`, `>`, or `like`. See demo in folder *JvGridFilterDemo*.
119-- ![](/wiki-images/4/47/Tjvyeargrid.png) **JvYearGrid**: a year-calendar
114+ * [[JvSIM components|**TJvSIM components**]]: a set of components for simulation of digital and analog electronics.
115+ * [![tjvjanled.png](/wiki-images/7/7b/tjvjanled.png)](</File:tjvjanled.png>) **JvJanLED** : an LED indicator component (not contained in original JVCL, ported from Jan Verhoeven's own repository).
116+ * [![tjvjantoggle.png](/wiki-images/1/1d/tjvjantoggle.png)](</File:tjvjantoggle.png>) **JvJanToggle** : a toggle button with an on and off area (not contained in original JVCL, ported from Jan Verhoeven's own repository).
117+ * [![tjvmarkupviewer.png](/wiki-images/8/82/tjvmarkupviewer.png)](</File:tjvmarkupviewer.png>) **JvMarkupViewer** and [![tjvmarkuplabel.png](/wiki-images/d/dd/tjvmarkuplabel.png)](</File:tjvmarkuplabel.png>) **JvMarkupLabel** : display simple HTML-formatted text (font-related tags only). Similar to JvHTControls.
118+ * [![tjvgridfilter.png](/wiki-images/c/c8/tjvgridfilter.png)](</File:tjvgridfilter.png>) **TvGridFilter** : a component for filtering rows in a column-oriented stringgrid. Call `Filter(condition)` to hide all rows meeting the specified condition string, e.g. `[Business]="Music"` removes all rows in which the strings in the column titled `Business` are equal to `Music`. Allowed operators are `=`, `<>`, `<`, `>`, or `like`. See demo in folder _JvGridFilterDemo_.
119+ * [![tjvyeargrid.png](/wiki-images/5/5d/tjvyeargrid.png)](</File:tjvyeargrid.png>) **JvYearGrid** : a year-calendar
120120
121-![](/wiki-images/8/8b/TJvYearGrid.png)
121+[![TJvYearGrid.png](/wiki-images/8/8b/TJvYearGrid.png)](</File:TJvYearGrid.png>)
122122
123123### JvMM
124124
125-Depends on package *JvCore*.\
126-The original JVCL package for Delphi contains a set of multimedia components, image and some general-purpose components.
125+Depends on package _JvCore_.
126+The original JVCL package for Delphi contains a set of multimedia components, image and some general-purpose components.
127127
128-- ![](/wiki-images/8/81/Tjvid3v1.png) **JvID3v1**: a non-visual component for displaying and editing of ID3v1 tags of mp3 files. See demo *examples/JvID3v1*.
129-- ![](/wiki-images/4/44/Tjvid3v2.png) **JvID3v2**: a non-visual component for displaying and editing of ID3v2 tags of mp3 files. See demo *examples/JvID3v2*.
130-- ![](/wiki-images/e/e7/Tjvanimatedimage.png) **JvAnimatedImage**: animates a series of images take from a glyph containing all images in a horizontal or vertical stripe.
131-- ![](/wiki-images/f/f6/Tjvbmpanimator.png) **JvBmpAnimator**: animates a series of images taken from a TImagelist. Unlike suggested by its name, it works with other image types as well in Lazarus. See demo *examples/JvBmpAnimator*. Similar to JvAnimatedImage.
132-- ![](/wiki-images/3/31/Tjvimagetransform.png) **JvImageTransform**: image transition effects like in a simple slide show. See demo *examples/JvImageTransform*.
133-- ![](/wiki-images/e/ed/Tjvspecialimage.png) **JvSpecialImage**: an advanced image component with simple built-in image manipulation capabilities (flip, mirror, invert, fade-in, fade-out, brightness). Note that the Brightness property has been modified from the Delphi version to cover a more convenient scale from -100 to 100 (instead of 0 to 200). See demo *examples/JvSpecialImage*.
134-- ![](/wiki-images/3/34/Tjvspecialprogress.png) **JvSpecialProgress**: an advanced progress bar with gradient and text display. See demo *examples/JvSpecialProgress*.
135-- ![](/wiki-images/1/17/Tjvgradient.png) **JvGradient**: draws several kinds of gradients (horizontal, vertical, elliptic, pyramidic).
136-- ![](/wiki-images/4/4d/Tjvgradientheaderpanel.png) **JvGradientHeaderPanel**: a header bar with a gradient background (drawn by JvGradient).
137-- ![](/wiki-images/5/51/Tjvfullcolorlabel.png) **JvFullColorLabel**: a label with attached color sample
138-- ![](/wiki-images/c/ce/Tjvfullcolordialog.png) **JvFullColorDialog** and ![](/wiki-images/8/80/Tjvfullcolorcircledialog.png) **JvFullColorCircleDialog**: dialogs for color selection based on several color models. Use the ![](/wiki-images/b/bf/Tjvfullcolortrackbar.png) **JvFullColorTrackbar** for one-dimensional, and a ![](/wiki-images/7/7c/Tjvfullcolorpanel.png) **JvFullColorPanel** and a ![](/wiki-images/9/9f/Tjvfullcolorcircle.png) **JvFullColorCircle** for two-dimensional color selection. There is also a swatch-like ![](/wiki-images/e/ec/Tjvfullcolorgroup.png) **JvFullColorGroup**. See demos *examples/JvFullColorDialog* and *examples/JvFullColorCircleDialog*. Similar to [[mbColorLib]], however, several color models are combined within the same control.
128+ * [![tjvid3v1.png](/wiki-images/c/c9/tjvid3v1.png)](</File:tjvid3v1.png>) **JvID3v1** : a non-visual component for displaying and editing of ID3v1 tags of mp3 files. See demo _examples/JvID3v1_.
129+ * [![tjvid3v2.png](/wiki-images/4/4b/tjvid3v2.png)](</File:tjvid3v2.png>) **JvID3v2** : a non-visual component for displaying and editing of ID3v2 tags of mp3 files. See demo _examples/JvID3v2_.
130+ * [![tjvanimatedimage.png](/wiki-images/4/4e/tjvanimatedimage.png)](</File:tjvanimatedimage.png>) **JvAnimatedImage** : animates a series of images take from a glyph containing all images in a horizontal or vertical stripe.
131+ * [![tjvbmpanimator.png](/wiki-images/9/98/tjvbmpanimator.png)](</File:tjvbmpanimator.png>) **JvBmpAnimator** : animates a series of images taken from a TImagelist. Unlike suggested by its name, it works with other image types as well in Lazarus. See demo _examples/JvBmpAnimator_. Similar to JvAnimatedImage.
132+ * [![tjvimagetransform.png](/wiki-images/0/04/tjvimagetransform.png)](</File:tjvimagetransform.png>) **JvImageTransform** : image transition effects like in a simple slide show. See demo _examples/JvImageTransform_.
133+ * [![tjvspecialimage.png](/wiki-images/c/cd/tjvspecialimage.png)](</File:tjvspecialimage.png>) **JvSpecialImage** : an advanced image component with simple built-in image manipulation capabilities (flip, mirror, invert, fade-in, fade-out, brightness). Note that the Brightness property has been modified from the Delphi version to cover a more convenient scale from -100 to 100 (instead of 0 to 200). See demo _examples/JvSpecialImage_.
134+ * [![tjvspecialprogress.png](/wiki-images/a/ae/tjvspecialprogress.png)](</File:tjvspecialprogress.png>) **JvSpecialProgress** : an advanced progress bar with gradient and text display. See demo _examples/JvSpecialProgress_.
135+ * [![tjvgradient.png](/wiki-images/4/42/tjvgradient.png)](</File:tjvgradient.png>) **JvGradient** : draws several kinds of gradients (horizontal, vertical, elliptic, pyramidic).
136+ * [![tjvgradientheaderpanel.png](/wiki-images/4/4f/tjvgradientheaderpanel.png)](</File:tjvgradientheaderpanel.png>) **JvGradientHeaderPanel** : a header bar with a gradient background (drawn by JvGradient).
137+ * [![tjvfullcolorlabel.png](/wiki-images/3/3a/tjvfullcolorlabel.png)](</File:tjvfullcolorlabel.png>) **JvFullColorLabel** : a label with attached color sample
138+ * [![tjvfullcolordialog.png](/wiki-images/c/cc/tjvfullcolordialog.png)](</File:tjvfullcolordialog.png>) **JvFullColorDialog** and [![tjvfullcolorcircledialog.png](/wiki-images/a/a4/tjvfullcolorcircledialog.png)](</File:tjvfullcolorcircledialog.png>) **JvFullColorCircleDialog** : dialogs for color selection based on several color models. Use the [![tjvfullcolortrackbar.png](/wiki-images/9/98/tjvfullcolortrackbar.png)](</File:tjvfullcolortrackbar.png>) **JvFullColorTrackbar** for one-dimensional, and a [![tjvfullcolorpanel.png](/wiki-images/c/cd/tjvfullcolorpanel.png)](</File:tjvfullcolorpanel.png>) **JvFullColorPanel** and a [![tjvfullcolorcircle.png](/wiki-images/3/32/tjvfullcolorcircle.png)](</File:tjvfullcolorcircle.png>) **JvFullColorCircle** for two-dimensional color selection. There is also a swatch-like [![tjvfullcolorgroup.png](/wiki-images/3/37/tjvfullcolorgroup.png)](</File:tjvfullcolorgroup.png>) **JvFullColorGroup**. See demos _examples/JvFullColorDialog_ and _examples/JvFullColorCircleDialog_. Similar to [[mbColorLib]], however, several color models are combined within the same control.
139139
140-![](/wiki-images/8/8c/TJvFullColorDialog.png)
140+[![TJvFullColorDialog.png](/wiki-images/8/8c/TJvFullColorDialog.png)](</File:TJvFullColorDialog.png>)
141141
142-- ![](/wiki-images/c/cf/Tjvpicclip.png) **JvPicClip**: similar to TImageList. Splices a large bitmap to a grid of `Cols x Rows` smaller images which can be retrieved as `Cells[ACol, ARow]`
142+ * [![tjvpicclip.png](/wiki-images/3/3b/tjvpicclip.png)](</File:tjvpicclip.png>) **JvPicClip** : similar to TImageList. Splices a large bitmap to a grid of `Cols x Rows` smaller images which can be retrieved as `Cells[ACol, ARow]`
143143
144144### JvPageComps
145145
146-Depends on packages *JvCore* and *JvStdCtrls*\
147-* **TJvTabBar**: a panel of tabs like in a TTabControl. Fully configurable. Drawing is delegated to separate painter components, **TJvModernTabBarPainter** (used by default) and **TJvTabBarXPPainter**. See demo in folder *examples/JvTabBar*.
146+Depends on packages _JvCore_ and _JvStdCtrls_
148147
149-- **TJvPageList**: a stack of pages like a TNotebook. Designed to cooperate with TJvTabBar and TJvPageListTreeView. See demo in folder *examples/JvTabBar_PageList*.
150-- **TJvNotebookPageList**: a TNotebook descendant designed to cooperate with TJvTabBar. See demo in folder *examples/JvTabBar_NotebookPages*. Note that this component is not contained in the original Delphi JVCL collection.
151-- **TJvNavigationPane**: a navigation panel similar to MS Outlook. See demo in the folder *examples/JvNavigationPane* of the Lazarus JVCL installation.
148+ * **TJvTabBar** : a panel of tabs like in a TTabControl. Fully configurable. Drawing is delegated to separate painter components, **TJvModernTabBarPainter** (used by default) and **TJvTabBarXPPainter**. See demo in folder _examples/JvTabBar_.
149+ * **TJvPageList** : a stack of pages like a TNotebook. Designed to cooperate with TJvTabBar and TJvPageListTreeView. See demo in folder _examples/JvTabBar_PageList_.
150+ * **TJvNotebookPageList** : a TNotebook descendant designed to cooperate with TJvTabBar. See demo in folder _examples/JvTabBar_NotebookPages_. Note that this component is not contained in the original Delphi JVCL collection.
151+ * **TJvNavigationPane** : a navigation panel similar to MS Outlook. See demo in the folder _examples/JvNavigationPane_ of the Lazarus JVCL installation.
152152
153-![](/wiki-images/6/60/JvNavigationPane_demo.png)
153+[![JvNavigationPane demo.png](/wiki-images/6/60/JvNavigationPane_demo.png)](</File:JvNavigationPane_demo.png>)
154154
155155### JvPascalInterpreter
156156
157-Scripting engine for Pascal. Depends on package *JvCore*.
157+Scripting engine for Pascal. Depends on package _JvCore_.
158158
159-- **TJvInterpreterProgram**: Non-visual component interpreting Pascal code. Add code to the `Pas` Strings, execute if by the `Run` method and get the result from the `VResult` variant. See the tutorials in folder *example/JvInterpreterDemos*. There is also a (German) tutorial at [1](https://wiki.delphigl.com/index.php/Tutorial_Scripting_mit_JvInterpreterProgram).
159+ * **TJvInterpreterProgram** : Non-visual component interpreting Pascal code. Add code to the `Pas` Strings, execute if by the `Run` method and get the result from the `VResult` variant. See the tutorials in folder _example/JvInterpreterDemos_. There is also a (German) tutorial at [[1]](<https://wiki.delphigl.com/index.php/Tutorial_Scripting_mit_JvInterpreterProgram>).
160160
161161### JvRuntimeDesign
162162
163-Depends on package *JvCore*.
163+Depends on package _JvCore_.
164164
165-- A runtime **form designer**. See demo in folder *example/JvDesigner* of the JVCL installation. Note that the designer is not limited to the components shown on the demo's toolbar. Following the instructions in the header of the demo's main unit it is easy to register any other component.
165+ * A runtime **form designer**. See demo in folder _example/JvDesigner_ of the JVCL installation. Note that the designer is not limited to the components shown on the demo's toolbar. Following the instructions in the header of the demo's main unit it is easy to register any other component.
166166
167-![](/wiki-images/a/a4/JvDesignerDemo.png).
167+[![JvDesignerDemo.png](/wiki-images/a/a4/JvDesignerDemo.png)](</File:JvDesignerDemo.png>).
168168
169169### JvTimeFramework
170170
171-Depends on package *JvCore*. Calendars and schedule planner, similar to [[Turbopower Visual PlanIt|TvPlanIt]]. Can compare schedules of several persons.
171+Depends on package _JvCore_. Calendars and schedule planner, similar to [[Turbopower Visual PlanIt|TvPlanIt]]. Can compare schedules of several persons.
172172
173-- **TJvTFScheduleManager**: administration of data, access to database via events.
174-- **TJvTFDays**, **TJvTFWeeks** or **TJvTFMonths** are day, week or month calendars, respectively, to display appointments.
175-- **TJvTFDaysPrinter**: prints the appointments shown by TJvTFDays
176-- **TJvTFGlanceTextViewer**: viewing parameters for TJvTFWeeks and TJvTFMonths
173+ * **TJvTFScheduleManager** : administration of data, access to database via events.
174+ * **TJvTFDays** , **TJvTFWeeks** or **TJvTFMonths** are day, week or month calendars, respectively, to display appointments.
175+ * **TJvTFDaysPrinter** : prints the appointments shown by TJvTFDays
176+ * **TJvTFGlanceTextViewer** : viewing parameters for TJvTFWeeks and TJvTFMonths
177177
178-See extended demo in *examples/JvTimeFramework*
178+See extended demo in _examples/JvTimeFramework_
179179
180-![](/wiki-images/9/9d/JvTimeFrameworkDemo.png)
180+[![JvTimeFrameworkDemo.png](/wiki-images/9/9d/JvTimeFrameworkDemo.png)](</File:JvTimeFrameworkDemo.png>)
181181
182182### JvValidators
183183
184-Depends on package *JvCore*.\
185-Various validator classes for input validataion. See demo in the folder *examples/JvValidators* of the Lazarus JVCL installation
184+Depends on package _JvCore_.
185+Various validator classes for input validataion. See demo in the folder _examples/JvValidators_ of the Lazarus JVCL installation
186186
187-![](/wiki-images/9/9e/JvValidationDemo.png)
187+[![JvValidationDemo.png](/wiki-images/9/9e/JvValidationDemo.png)](</File:JvValidationDemo.png>)
188188
189-- **TJvErrorIndicator**: Shows error indicators next to edit-fields etc. similar to "missing fields" indicators in web forumlars.
190-- **TJvValidators**: To validate user input. Rightclick on Field editor to define validation rules. Checks are performed when method "Validate" is called.
189+ * **TJvErrorIndicator** : Shows error indicators next to edit-fields etc. similar to "missing fields" indicators in web forumlars.
190+ * **TJvValidators** : To validate user input. Rightclick on Field editor to define validation rules. Checks are performed when method "Validate" is called.
191191
192192### JvWizard
193193
194-Depends on package *JvCore*.\
195-* A multiplage dialog as used, e.g., for installation programs. Use the component editor to add pages with title, subtitle, images etc. at designtime ("welcome page", "interior page"). Buttons to navigate to other pages are automatically added. Additional navigation tools can be provided by adding a `TJvWizardRouteMapSteps`, `TJvWizardRouteMapNodes`, or `TJvWizardRouteMapList` component. See demo *JvWizard*. ![](/wiki-images/c/ce/JvWizardDemo.png)
194+Depends on package _JvCore_.
196195
196+ * A multiplage dialog as used, e.g., for installation programs. Use the component editor to add pages with title, subtitle, images etc. at designtime ("welcome page", "interior page"). Buttons to navigate to other pages are automatically added. Additional navigation tools can be provided by adding a `TJvWizardRouteMapSteps`, `TJvWizardRouteMapNodes`, or `TJvWizardRouteMapList` component. See demo _JvWizard_.
197+
198+[![JvWizardDemo.png](/wiki-images/c/ce/JvWizardDemo.png)](</File:JvWizardDemo.png>)
199+
197200### JvXPCtrls
198201
199-Depends on package *JvCore* and *JvStdCtrls*.\
200-Several controls imitating the look and feel of Windows XP.
202+Depends on package _JvCore_ and _JvStdCtrls_.
203+Several controls imitating the look and feel of Windows XP.
201204
202-- **JvXPButton** and **JvXPCheckbox**: a button and a checkbox in XP-style
203-- **TJvXPProgressBar**: Draws a progressbar in XP-style. The color of the the background and of the blocks is configurable. Doesn't support Marquee-style.
204-- **[[JvXPBar]]**: a container side-bar with collapsable panels. Similar to TJvRollOut-Panel, but with string items instead of controls. Collapsing/Expanding happens smooth and nicely animated.
205+ * **JvXPButton** and **JvXPCheckbox** : a button and a checkbox in XP-style
206+ * **TJvXPProgressBar** : Draws a progressbar in XP-style. The color of the the background and of the blocks is configurable. Doesn't support Marquee-style.
207+ * **[[JvXPBar]]** : a container side-bar with collapsable panels. Similar to TJvRollOut-Panel, but with string items instead of controls. Collapsing/Expanding happens smooth and nicely animated.
205208
206-![](/wiki-images/d/dd/JvXPBarDemo.png)
209+[![JvXPBarDemo.png](/wiki-images/d/dd/JvXPBarDemo.png)](</File:JvXPBarDemo.png>)
207210
208211## Download and installation
209212
210213### Download
211214
212-The developers version of the Lazarus port is available via svn from <https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/jvcllaz/>. The current release version can be downloaded from <https://sourceforge.net/projects/lazarus-ccr/files/jvcllaz/>; it is also offered by the Lazarus Online Package Manager.
215+The developers version of the Lazarus port is available via svn from <https://sourceforge.net/p/lazarus-ccr/svn/HEAD/tree/components/jvcllaz/>. The current release version can be downloaded from <https://sourceforge.net/projects/lazarus-ccr/files/jvcllaz/>; it is also offered by the Lazarus Online Package Manager.
213216
214217### Installation
215218
216-- **Released version** distributed by the Online Package Manager: check the "jvcllaz" item in the Online Package manager, click the *"Install"* button and follow the instructions.
217-- **Development version** on Lazarus CCR (svn):
218- - If you want to install **all JVCL packages**, load the package **jvcl_all.lpk** and select "Use" \> "Install". In older Lazarus versions, there will be a warning *"The package jvcl_all does not have any "Register" procedure which typically means it does not provide any IDE addon. Installing it will probably only increase the size of the IDE and may even make it unstable."*. You can ignore this and click on *"Install it, I like the fat"*.
219- - If you want to install **only a few packages**, you must find out in above summary which other packages are needed. Compile the needed runtime packages (having an appended "R" at the package name). Then "Use" \> "Install" the required designtime packages (having an appended "D" as the package name). It is required to rebuild the IDE only after the last package.
219+ * **Released version** distributed by the Online Package Manager: check the "jvcllaz" item in the Online Package manager, click the _"Install"_ button and follow the instructions.
220+ * **Development version** on Lazarus CCR (svn):
221+ * If you want to install **all JVCL packages** , load the package **jvcl_all.lpk** and select "Use" > "Install". In older Lazarus versions, there will be a warning _"The package jvcl_all does not have any "Register" procedure which typically means it does not provide any IDE addon. Installing it will probably only increase the size of the IDE and may even make it unstable."_. You can ignore this and click on _"Install it, I like the fat"_.
222+ * If you want to install **only a few packages** , you must find out in above summary which other packages are needed. Compile the needed runtime packages (having an appended "R" at the package name). Then "Use" > "Install" the required designtime packages (having an appended "D" as the package name). It is required to rebuild the IDE only after the last package.
220223
221224---
222-*From the Free Pascal wiki, page "JVCL Components", as it stood on 2020-04-30 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).*
225+*From the Free Pascal wiki, page "JVCL Components", as the Internet Archive kept it on 2025-03-23, last changed on 2025-03-02. 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