JVCL Components
About
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.
Packages
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.
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.
JvCore
Provides basic functionality needed by all other packages.
JvStdCtrls
Standard controls
- JvCalcEdit: a numeric edit control which opens a calculator dialog.
JvCtrls
Extended controls
- TJvMovableBevel: a bevel which can be dragged and resized at runtime
- 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.
- TJvRuler: a ruler to indicate distances in centimeters, inches or pixels
- TJvHtControls and related: a set of controls which can display HTML text
JvCustom
Custom controls
- TJvTimeLine: a one-dimensional calendar ("time-line") which can display various events and tasks.
- TJvTMTimeLine: another timeline component
- TJvThumbView: displays a list of images as thumbnails
- TJvOutlookBar: an accordeon-like bar of containers for other controls as used by Outlook 97.
- TJvImageViewer: displays a list of images as thumbnails, similar to TJvThumbView. See JvItemViewer demo.
- TJvImagesListViewer: dispays all images of a TImageList. See JvItemViewer demo.
- TJvOwnerDrawViewer: presents arbitrary information in a grid-like view. See JvItemViewer demo.
JvCmp
Special controls
- TJvSpellChecker: a spell-checker class with sample dictionaries for English and Dutch. See demo in folder examples/JvSpellChecker of the JVCL installation.
JvDB
Data-aware controls
- TJvSearchEdit: a TEdit with incremental search capabilities within a field of a dataset.
- 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.
- TJvDBCalcEdit: a numeric edit box which opens a calculator dialog.
JvPageComps
- TJvNavigationPane: a navigation panel similar to MS Outlook. See demo in the folder examples/JvNavigationPane of the Lazarus JVCL installation.
JvValidators
- various validator classes for input validataion. See demo in the folder examples/JvValidators of the Lazarus JVCL installation
JvXPCtrls
Several controls imitating the look and feel of Windows XP.
- JvXPButton and JvXPCheckbox: a button and a checkbox
- JvXPBar: a container side-bar with collapsable panels
JvRuntimeDesign
- A runtime form designer. See demo in folder example/JvDesigner of the JVCL installation.
JvJans
Named after the original author, Jan Verhoeven, who donated these components to the JEDI project. The following components have been ported:
- TJvSIM components: a set of components for simulation of digital and analog electronics.
- JvJanLED: an LED indicator component (not contained in original JVCL, ported from Jan Verhoeven's own repository).
- JvJanToggle: a toggle button with an on and off area (not contained in original JVCL, ported from Jan Verhoeven's own repository).
- JvMarkupViewer and JvMarkupLabel: display simple HTML-formatted text (font-related tags only). Similar to JvHTControls.
- JvYearGrid: a year-calendar
JvMM
The original JVCL package for Delphi contains a set of multimedia components plus some general-purpose components.
- JvID3v1: a non-visual component for displaying and editing of ID3v1 tags of mp3 files. See demo examples/JvID3v1.
- JvID3v2: a non-visual component for displaying and editing of ID3v2 tags of mp3 files. See demo examples/JvID3v2.
- JvSpecialProgress: an advanced progress bar with gradient and text display. See demo examples/JvSpecialProgress.
- JvGradient: draws several kinds of gradients (horizontal, vertical, elliptic, pyramidic).
- JvGradientHeaderPanel: a header bar with a gradient background (drawn by JvGradient).
Download and installation
Download
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.
Installation
If you want to use all ported JVCL components compile all runtime packages (having an appended "R") and all designtime packages (having an appended "D") Then install all designtime packages (except for JvCoreLazD, which need not be installed).
If you want to use only a few components find out in which package they are implemented. Always compile the JvCoreLazR and JvCoreLazD packages. Then compile the runtime and designtime package(s) which is/are of interest for you. Finally install the designtime package(s).
The procedure is greatly simplified if you install a release version via the Online Package Manager. Here you only have to check the requested package. OPM will automatically find out which other packages are needed.