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.
The new releases can be found at Lazarus CCR
The old releases can be found at Lazarus CCR.
you can checkout the actual source from
commandline to do this is
Bug report / Feature request
Bug Tracker project Lazarus-CCR, category Virtual Treeview
- 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
- FPC 2.6.x
- Lazarus 1.0 or newer
- LCL Extensions 0.5 (http://code.google.com/p/luipack/downloads/list)
Status: Stable Tested on Windows, Linux. Needs testing on MacOS.
- 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
- 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