Sign in Join
Wiki copytemporary

VirtualTreeview: what changed

Revision 3 to 4. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11### About
22
33VirtualTreeview is a [[TTreeView]] control built from ground up.
44
55Its main characteristics are :
66
77 * it is extremely fast. Adding one million nodes takes only ~700 milliseconds
88 * very small memory foot print. by only allocating about 60 bytes per node
99 * optimized for high speed access. It takes as few as 0.5 seconds to traverse one million nodes
1010 * Multiselection is supported
1111 * Drawing the entire tree to a bitmap or the printer is supported
1212 * fixed background image can be used
1313 * Hot style for nodes is supported
1414 * Nodes can have individual heights
1515 * Sorting via compare [[callback]]
1616 * Support for unicode
1717 * Multiple columns are supported
1818 * ... and many more
1919
2020This component was designed for cross-platform applications.
2121
2222[![Anivt.gif](/wiki-images/a/a4/Anivt.gif)](</File:Anivt.gif>)
2323
2424### Author
2525
2626Author: Mike Lischke
2727Old LCL Port: Joerg Thaler,[Christian Ulrich](</User:Christian> "User:Christian")
2828New LCL Port: [Luiz Américo](</User:Luizmed> "User:Luizmed")
2929
3030### License
3131
3232[LGPL](<http://www.opensource.org/licenses/lgpl-license.php>) or [Mozilla Public Licence 1.1](<http://opensource.org/licenses/mozilla1.1.php>)
3333
3434### Download
3535
3636See the project [releases page](<https://github.com/blikblum/VirtualTreeView-Lazarus/releases>)
3737
3838Note that v5.5.3.1 is included in Lazarus v2.0+, there is not need for a separate download. However, to avoid naming conflicts, a "laz" prefix was added to package, unit and components:
3939
40-| Official version | Lazarus version
41----|---|---
42-**Package** | virtualtreeview_package.lpk | laz.virtualtreeview_package.lpk
43-**Main unit** | virtualtrees.pas | laz.virtualtrees.pas
44-**Components** | TVirtualStringTree · TVirtualDrawTree · TVTHeaderPopupMenu | TLazVirtualStringTree · TLazVirtualDrawTree · TLazVTHeaderPopupMenu
45-
40+| | Official version | Lazarus version |
41+|---|---|---|
42+| **Package** | virtualtreeview_package.lpk | laz.virtualtreeview_package.lpk |
43+| **Main unit** | virtualtrees.pas | laz.virtualtrees.pas |
44+| **Components** | TVirtualStringTree · TVirtualDrawTree · TVTHeaderPopupMenu | TLazVirtualStringTree · TLazVirtualDrawTree · TLazVTHeaderPopupMenu |
45+
4646### Repository
4747
4848You can checkout the source code from [GitHub](<https://github.com/blikblum/VirtualTreeView-Lazarus>)
4949
5050It's possible to use both Subversion and Git clients
5151
5252Subversion:
5353```
5454svn co <https://github.com/blikblum/VirtualTreeView-Lazarus/branches/lazarus-v5>
5555```
5656
5757Replace lazarus_v5 by lazarus_v4 or lazarus_master to get a different version. For more info how to use Subversion, see [GitHub help](<https://help.github.com/articles/support-for-subversion-clients/>)
5858
5959Git:
6060```
6161git clone <https://github.com/blikblum/VirtualTreeView-Lazarus.git>
6262```
6363
6464#### Version 8
6565
6666An experimental lcl port of VirtualTreeView version 8 is also available [here](<https://github.com/salvadorbs/VirtualTreeView-Lazarus>).
6767
6868### Bug report / Feature request
6969
7070[Here](<https://github.com/blikblum/VirtualTreeView-Lazarus/issues>)
7171
7272For patches / pull requests, [here](<https://github.com/blikblum/VirtualTreeView-Lazarus/pulls>). Newcomers to GitHub may want to read the [help](<https://help.github.com/articles/using-pull-requests/>)
7373
7474### Change Log
7575
7676 * 02/06/2016 - [4.8.7 R4 and 5.5.3 R1](<http://forum.lazarus.freepascal.org/index.php?topic=32856.0>) \- First release of 5x branch + moved to GitHub
7777 * 20/10/2012 - [4.8.7 LCL R2](<http://www.lazarus.freepascal.org/index.php/topic,18640.0.html>) \- Compatibility with Lazarus 1.0 + 64 bit support
7878 * 18/02/2011 - [4.8.7 LCL R1](<http://www.lazarus.freepascal.org/index.php/topic,12172.msg62067.html>) \- Sync with 4.8 branch + misc fixes
7979 * 11/02/2010 - [4.8.6](<http://www.lazarus.freepascal.org/index.php/topic,8601.msg41542.html>) \- First stable release of the new port
8080
8181### Dependencies / System Requirements
8282
8383Versions 4.x or 5.x
8484
8585 * Lazarus 1.6 or newer
8686 * fpc 2.6.4 or newer
8787 * LCL Extensions 0.6 or newer
8888
8989Version 6.x (lazarus_master branch)
9090
9191 * Lazarus 1.6 or newer
9292 * fpc 3.1 (trunk) or newer
9393 * LCL Extensions 0.6 or newer
9494
9595### Installation
9696
9797 * In Lazarus v2.0+ the virtualtreeview package is installed by default. Note, however, that everything has been renamed with a "laz" prefix (see above table) to avoid possible naming conflicts. It is subsequently assumed that you want to install one of the github versions in addition to the built-in version.
9898 * If new to Lazarus, read [[Install Packages]]
9999 * In Lazarus v2.0 or older, uninstall the built-in version first: go to "Package" > "Install/uninstall packages", select "virtualtreeview_package 5.5.3.1" in the _left_ list, click "Uninstall selection" and "Save and rebuild IDE". Note: This is not required in Lazarus v2.2 or newer.
100100 * Download the LCL Extensions package and extract it to a directory (lazarus\components\lclextensions or other of your preference).
101101 * Download the Virtual Treeview package and extract it to a directory (lazarus\components\virtualtreeview or other of your preference).
102102 * Open lclextensions_package.lpk in LCL Extensions directory and click "Use / Add to project"
103103 * Open virtualtreeview_package.lpk in the package editor and click "Use / Install". Rebuild the IDE.
104104
105105### Help
106106
107107A comprehensive help file in .chm format(*) can be found within the GIT repository [[1]](<https://github.com/blikblum/VirtualTreeView-Lazarus>) in the subdirectory _Help_.
108108A tutorial and numerous code samples can be found in this forum [[VirtualTreeview Example for Lazarus]], in the _Demos_ Subdirectory of the VirtualTreeView GIT [[2]](<https://github.com/blikblum/VirtualTreeView-Lazarus>), and in the SVN of freepascal.org [[3]](<https://svn.freepascal.org/cgi-bin/viewvc.cgi/trunk/examples/virtualtreeview/?root=lazarus>)
109109
110110(*)Beginning with Windows 7, additional security measures were introduced for .chm Files, if you either download a .chm file directly via the browser (without going through a .zip file), or open the file from a network drive. The lock causes the problem that after opening the .chm file you will see only the table of contents, while the actual contents are missing. To manually release the lock use the Windows Explorer (Right Mouse Click - Properties - "Unblock"). This works with Windows 10 (4/2021) as well.
111111
112112## See also
113113
114114 * [[TTreeView]]
115-
116115---
117116*From the Free Pascal wiki, page "VirtualTreeview", as the Internet Archive kept it on 2025-06-16, last changed on 2024-07-11. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*

Back to history