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.
See the project releases page
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) or https://lazarus-ccr.svn.sourceforge.net/svnroot/lazarus-ccr/components/lclextensions/
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