Difference between revisions of "VirtualTreeview"

From Lazarus wiki
Jump to navigationJump to search
Line 58: Line 58:
=== Dependencies / System Requirements ===
=== Dependencies / System Requirements ===
* FPC 2.6.x
Versions 4.x or 5.x
* Lazarus 1.0 or newer
* LCL Extensions 0.5 (http://code.google.com/p/luipack/downloads/list) or https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/lclextensions/
Status: Stable
*Lazarus 1.6 or newer
Tested on Windows, Linux.
*fpc 2.6.4 or newer
Needs testing on MacOS.  
*LCL Extensions 0.6 or newer
==== Known Issues ====
Version 6.x (lazarus_master branch)
* The scroll bar does not work on OSX 10.8.6. See forum post about branch 4.8: http://www.lazarus.freepascal.org/index.php/topic,12172.0.html
*Lazarus 1.6 or newer
*fpc 3.1 (trunk) or newer
*LCL Extensions 0.6 or newer
=== Installation ===
=== Installation ===

Revision as of 11:58, 3 June 2016

Deutsch (de) English (en) español (es) français (fr) polski (pl)


VirtualTreeview is a treeview control built from ground up.

Its main characteristics are :

  • it is extremely fast. Adding one million nodes takes only ~700 milliseconds
  • very small memory foot print. by only allocating about 60 bytes per node
  • optimized for high speed access. It takes as few as 0.5 seconds to traverse one million nodes
  • Multiselection is supported
  • Drawing the entire tree to a bitmap or the printer is supported
  • fixed background image can be used
  • Hot style for nodes is supported
  • Nodes can have individual heights
  • Sorting via compare callback
  • Support for unicode
  • Multiple columns are supported
  • ... and many more

This component was designed for cross-platform applications.



Author: Mike Lischke
Old LCL Port: Joerg Thaler,Christian Ulrich
New LCL Port: Luiz Américo


LGPL or Mozilla Public Licence 1.1


See the project releases page


You can checkout the source code from GitHub

It's possible to use both Subversion and Git clients


svn co https://github.com/blikblum/VirtualTreeView-Lazarus/branches/lazarus_v5

Replace lazarus_v5 by lazarus_v4 or lazarus_master to get a different version. For more info how to use Subversion, see GitHub help


git clone https://github.com/blikblum/VirtualTreeView-Lazarus.git

Bug report / Feature request

Bug Tracker project Lazarus-CCR, category Virtual Treeview

Change Log

  • 20/10/2012 - 4.8.7 LCL R2 - Compatibility with Lazarus 1.0 + 64 bit support
  • 18/02/2011 - 4.8.7 LCL R1 - Sync with 4.8 branch + misc fixes
  • 11/02/2010 - 4.8.6 - First stable release of the new port

Dependencies / System Requirements

Versions 4.x or 5.x

  • Lazarus 1.6 or newer
  • fpc 2.6.4 or newer
  • LCL Extensions 0.6 or newer

Version 6.x (lazarus_master branch)

  • Lazarus 1.6 or newer
  • fpc 3.1 (trunk) or newer
  • LCL Extensions 0.6 or newer


  • If new to Lazarus, read Install Packages
  • Extract the LCL Extensions package to a directory (lazarus\components\lclextensions or other of your preference)
  • Extract the Virtual Treeview package to a directory (lazarus\components\virtualtreeview or other of your preference)
  • Open lclextensions_package.lpk in LCL Extensions directory and click "Use / Add to project"
  • Open virtualtreeview_package.lpk in Virtual Treeview and click "Use / Install". Rebuild the IDE


Can be found at VirtualTreeview Main Page (search for help in chm format).

Example code can be found here: VirtualTreeview Example for Lazarus