Virtual Treeview control for your Delphi project.
Better tree management for your software application
Over a decade of development has created one of the most flexible and advanced Delphi treeview controls available today! Virtual Treeview does not read the data it manages, except its size, not even the captions of a node. Everything is retrieved from the application through events or descendants by overridden methods.
Extremely fast and small memory footprint
Adding a million nodes takes less than a second, thanks to the virtual paradigm. Only 56 bytes are required per node by TVirtualStringTree in Win32 builds.
Support for Windows and VCL themes
VCL themes and the Windows Explorer theme are supported immediately, along with a high dpi scale.
Highly customizable
Almost every aspect of the controls can be customized, and the paint can be intercepted at every step.
Feature-rich
There is a TBaseVirtualTree.OnHint event to display node-specific hints.
There is a TBaseVirtualTree.OnGetHelpContext event to retrieve node-specific help context IDs. This includes automatic tree and window control, as it is called when the user presses F1.
There is a TBaseVirtualTree.OnGetPopupMenu event to retrieve node-specific pop-up menus, including automatic tree path.
The middle and right mouse buttons can be used in addition to the left button and support all functions that can be mapped to the left button (drag, select, etc.). These alternate buttons can be swapped out, of course.
A fixed background image can be used in the tree and can be given a certain offset, for example to simulate shared backgrounds.
Sequence trees support static text that appears after a node's caption (in all columns) and that can be formatted differently from the caption, but cannot be edited, selected, etc.
An auto-extend column mode is supported. It allows a column to take up more space for its legend if there are empty columns to its right. This avoids clipping long captions and still allows the use of multiple columns.
A node can be selected and edited in all columns (this is selectable), making Virtual Treeview a grid type as well. The Tab key can be used to switch focus between cells. There is a special option (toGridExtensions) to support grid-specific tasks.
Nodes can have individual heights, and the vertical alignment of a node's images and lines can be adjusted individually.
Virtual Treeview exposes its internal states, such as dragging or editing pending events, multiple selection, or expansion in progress. Using this information, an application can optimize its code execution (state updates, etc.).
Sorting a node is supported through an application-defined comparison callback. In addition, a tree can be defined as "automatic classification".
Hints can contain multiple lines of text and mirror the alignment and directionality of the node or column for which they are displayed. For your animation, sliding and alpha mixing are available.
TBaseVirtualTree.DefaultNodeHeight and TVirtualStringTree.DefaultText can be used to avoid setting too many nodes explicitly to the same initial value.
Virtual Treeview's column implementation also allows for fixed columns, making it a good grid replacement.
Optimal usability
Virtual Treeview is extremely fast. Adding a million nodes only takes 700 milliseconds!
Virtual Treeview has a very small memory space. By allocating only 60 bytes per node (in the chain tree, the base tree uses only 56 bytes), it is well prepared to store a million of them.
Virtual Treeview is optimized for high-speed access. It only takes 0.5 seconds to traverse a million nodes, depending on the validation and validation states required.
Multiple selection is supported, including restricted selection, so that only nodes of a given initial level can be selected. Much effort has been put into developing effective algorithms, for example, to modify an already large selection set while maintaining interactivity.
Drawing the entire tree on a bitmap or printer is supported by the central TBaseVirtualTree.PaintTree method. Messages WM_PRINT and WM_PRINTCLIENT are handled correctly. This allows, for example, to draw a tree on a bitmap (for example, for layered windows or to implement animated suspends of controls that use VT as the drop-down control).
Incremental search with multiple options and directions is available.
Automatic scrolling of the client area occurs when the mouse is close to the edges, while dragging and selecting the drawing (multiple selection).
System Requirements
Compatible with all current versions of Windows (32-bit and 64-bit).
You don't know what software you need or you haven't found what you were looking for? We have a team ready to help you choose the right software for your company.