JVCL Component Overview

From Project JEDI Wiki
Jump to navigationJump to search

See also: JVCL obsolete components

Component overview

"Most wanted" and very frequently used components are emphasized. If you are new to the JVCL and overwhelmed by the sheer number of components we recommend to have a look at them first. To get a more concise descriptions of a specific component simply look it up in the Jedi Online Help. Bugs can be reported in Mantis

By default the JVCL installs components into the following categories:

Jv Non-Visual

  • TJvTimer: Needs a windows handle only when Enabled=True. (Same as Delphi after D2010SP4) ATT: has a non-standard timing behaviour (Set EventTime to tetPost to fix that). Has a limited time resolution of 20ms. Enabled-property is not thread-safe
  • TJvLookupAutoComplete: used along with TEdit or TListBox components. It provides a list of strings which are automatically completed in associated component.
  • TJvHint: ???
  • TJvSearchFiles: ??? Scan directories for files - looks like a big overkill to me. A lot of source for a small function.
  • TJvCreateProcess: ??? Execute processes and capture output. Overkill?
  • TJvBalloonHint: A balloon hint. Att: D2010 has a TBalloonHint that can be assigned to the CustomHint-property of controls. The Jedi-Hint is not compatible with that. Use e.g. the UseBalloonAsApplicationHint-property instead.
  • TJvBackground: A background image for a form can be defined. Use the property "Clients" to set which parts of the form should be covered (e.g. to include some panels and groupboxes)

Jv Visual

  • TJvPoweredByJCL: JCL-Logo image that opens a browser with the JCL-Page when it's clicked. Useful for users who want to give us credit in their about box.
  • TJvPoweredByJVCL: same as above for the JVCL. Useful for users who want to give us credit in their about box.
  • TJvClock: Displays a clock - Digital or analog (property ShowMode)
  • TJvCharMap: Ascii-Char map as used by WinWord when inserting special characters
  • TJvZoom: Shows the surrounding of the mouse cursor like in a screen lense. Att: Does not work on dual screen systems on the secondary screen.
  • TJvDice: A dice. Removal recommended. Don't use.

Jv Persistence

  • TJvAppStorage and descendants: manages storing data for TJvFormStorage (desendants store data in ini-files, registry, XML-files etc)
  • TJvFormStorage: can automate storing window position/size/state and content and state of most VCL-components like Edits, checkboxes etc. DemoApp.

Jv Buttons

  • TJvCheckbox: Has a property "LinkedControls". Linked controls can be enabled/disabled automatically,
  • TJvArrowButton: Button with drow-down arrow. SampleApp.
  • TJvColorButton: Button with Dropdown-arrow what - when clicked displays the Windows standard colors as a set of 5x4 color squares and a "other colors" button that let you define any color you like.
  • TJvOfficeColorPanel: Panel with color selection blocks.
  • TJvOfficeColorButton: Dropdown similar to TJvColorButton but it folds out the TJvOfficeColorPanel. Also: separate event when the already selected color is clicked (no drop-down-action). Folded out Color-Panel can be undocked. ATT: The fold-out code is erroneous. Once undocked the window misses the close-button when opened a 2nd time.

Jv Bars, Panels

  • TJvRollOut: Expandable panel with headerline. Nice property: SmartExpand: When there's not enough space on the current form to completely expand the panel, the panel is shown in a floating mode (-> on a helper window)
  • TJvPageControl: every tab has a separate hint
  • TJvOutlookBar: on a first glance similar to TCategoryButtons with ButtomOptions+[boFullSize]-[boVerticalCategory]
  • TJvGradient: two-color filled pane
  • TJvGroupBox: Property "PropagateEnable" -> if set then all contained components are disabled when groupbox is disabled. Property "Checkable" -> checkbox displayed in header to disable groupbox and contents
  • TJvTabBar : A tab control similar to the one in the Delphi-IDE or Firefox. Can have Closebuttons directly in the tabs. Visual appearance can be changed with special painter-classes (e.g. TJvTabBarXPPainter)
  • TJvLookOut: Very similar to the TJvOutlookBar
  • TJvItemsPanel: A TListbox, but instead of simply showing the strings it shows buttons for each Item-entry. ??
  • TJvColorTrackBar: Trackbar with a color gradient in the background
  • TJvFullColorTrackbar: Same as TJvColorTrackBar but over-complex and not intuitive to use. Not recommended
  • TJvProgressBar: seems to be a normal TProgressBar with a lot of extra properties that don't do anything.
  • TJvGradientProgressBar: Progress bar that draws using a color gradient
  • TJvSpecialProgress: Looks like the TJvGradientProgressBar but with the ability to a text (e.g. percentage) in the box. ATT: Text is not inverted onto progress, so progress can overwrite the text making it unreadable. Maybe better a TGauge?
  • TJvWaitingProgress: ???

Jv Labels

  • TJvLinkLabel: Label with support for many HTML tags and a lot more. Very nice demo app available.

Jv Lists, Combos, Trees

  • TJvListView: ATT: seems not to work properly when GroupView=True
  • TJvCheckedComboBox: Combobox that shows a checkboxlist when expanded. Several options can be selected there, selected lines are shown as comma-separated-text in combobox. Access via properties "ItemEnabled[i]" and "Checked[i]"
  • TJvPageList: a lightweight PageControl without tabs
  • TJvCheckTreeView: TreeView that shows optionally Checkboxes or Radiobuttons next to entries. DemoApp erroneous.

Jv Scrollers

  • TJvScrollMax: Quite similar to TJvXPBar amd TJvRollOut-Panel. Expandable panels. Att: controls inside don't lose focus even when panel is collapsed.

Jv Trackers, Sliders, Splitters

  • TJvTrackBar: Adds OnChanged-event (end of changing), property ToolTips -> show current value is a tooltip-window while sliding. Att: property Color doesn't do anything, property ShowRange can be ignored, Delphi has ShowSelRange
  • TJvNetscapeSplitter

Jv Edits

  • TJvComboEdit: Button inside (on right end) the edit-field
  • TJvFileNameEdit: Edit with a browse-for-file button. Also allows drag&drop of files into the edit field.
  • TJvDirectoryEdit: Same as TJvFileNameEdit, but for folders.
  • TJvEdit: Adds properties DisabledColor and DisabledTextColor - applied when Enabled=False
  • TJvValidateEdit: MaxValue, MinValue, HasMaxValue, HasMinValue - Value is corrected when Edit loses focus

Jv Images, Animators

  • TJvSpecialImage: Adds properties "Brightness", "Flipped", "Mirrored", "Inverted" and functions for fading in and out the image. ATT: FadeIn/FadeOut don't work properly!!

Jv Data Access

  • TJvADODataSet
  • TJvADOQuery
  • TJvAppDBStorage
  • TJvCsvDataSet: Dataset object similar to TTable or TClientDataSet, that operates with CSV files.
  • TJvDataSource
  • TJvDatabaseActionList
  • TJvMemoryData

Jv Data Controls

  • TJvDbCheckBox
  • TJvDbComboBox
  • TJvDBCalcEdit
  • TJvDBCalcEdit
  • TJvDBComboEdit
  • TJvDBDateEdit
  • TJvDBMaskEdit
  • TJvDBNavigator
  • TJvDBStatusLabel
  • TJvDBDatePickerEdit
  • TJvDBFindEdit
  • TJvDBGrid
  • TJvDbGridCsvExport
  • TJvDbGridExcelExport
  • TJvDBGridHTMLExport
  • TJvDBGridWordExport
  • TJvDBGridXMLExport
  • TJvDBGridFooter
  • TJvDBHTLabel
  • TJvDBImage
  • TJvDBLookupCombo
  • TJvDbLookupEdit
  • TJvDbLookupList
  • TJvDbLookupComboEdit


Jv Dialogs

Jv Threading

Jv Internet, Network

  • TJvProgramVersionCheck: for automatic checking for updates and installation of updated version from the Internet
  • TJvMail: for sending and receiving mail using mail client in your OS. Attachments are available.

Jv NavPane

Jv Plugin

Plugin-Framework derived from the UIL-Plugin Framework. There are better ways to implement plugin functionality. Not recommended.

Jv XP Controls

  • TJvXPBar: Similar to TJvRollOut-Panel, but with String-items instead of controls. Collapsing/Expanding happens smooth and nicely animated. Nice demo.
  • TJvXPButton: ???! questionable.
  • TJvXPProgressBar: Draws a progressbar in XP-style. The color of the the background and of the blocks is configurable. Doesn't support Marquee-style.

Jv Wizard

Jv Validators

  • TJvErrorIndicator: Shows error indicators next to edit-fields etc. similar to "missing fields" indicators in web forumlars. DemoPic
  • TJvValidators: To validate user input. Rightclick on Field editor to define validation rules. Checks are performed when method "Validate" is called.

Jv TimeFrameWork

Jv System

  • TJvChangeNotify: monitors changes in one or more directories on the computer
  • TJvAppDdeCmd: ??? bizarre non-working example
  • TJvAppInstances: Allows to limit the number of concurrently running instances of an application. DemoApp.

Jv Runtime Design

Jv Print Preview

Jv Jans

Jv Jans SIM

Jv Jans CSV

Jv Interpreter

JVCL Globus 1

Components with inferior quality, don't use

  • TJvgButton: round button (TGraphicControl-descendant)

JVCL Globus 2

Components with inferior quality, don't use

Jv HMI

Jv EDI

removed in JVCL 340

Jv DotNet

Jv DotNet DB

Jv Docking

Docking Server and DockingStyle components. Docking looks identical to standard delphi docking (no docking indicators while dragging), only the captions of the docked windows are changed according to the styles.

Jv Encrypt, Compress

Jv BDE

Jv Application, Forms

  • TJvApplicationHotKey: To react on hotkeys even when a different application currently has the focus. Nice demo app.

Further components

Some components are not represented in the component toolbar:

  • TJvAni: by adding the unit JvAni to the uses list it registers a handler for animated cursors (*.ani) -> TPicture. See demo app.
  • TJvDynControlEngine: ???
  • TJvParameterList: ??? - linked to TJvDynControlEngine? - Component-collection to create simple dialogs by code. Values can be stored via AppStorage and the result is displayed via TJvDynControls.