[fpc-pascal] Directory Tree
    Jean SUZINEAU 
    jean.suzineau at wanadoo.fr
       
    Thu Apr  8 12:55:32 CEST 2021
    
    
  
If you just select files, as Bart stated in another message, I think 
TShellTreeView will be more adequate and easier than TTreeView (actually 
TShellTreeView is a file tree specific descendent TTreeView).
In TTreeView (and TShellTreeView) you can enable multiselection by 
adding tvoAllowMultiSelect in Options set (something like "with 
TreeView1 do Options:=Options+[tvoAllowMultiSelect];"   or better by 
just checking Options/tvoAllowMultiSelect in the Object inspector)
https://wiki.freepascal.org/TTreeView#Example_of_using_Multiple_Node_Selection_for_Multiple_User_Selections
If you want checkboxes, I think it's possible with TVirtualStringTree 
from the VirtualTreeView package, it may be a bit harder to implement 
(as far as  I remember you need your own data structure to store the 
status of the tree) :
https://wiki.freepascal.org/VirtualTreeview
https://wiki.freepascal.org/VirtualTreeview_Example_for_Lazarus#Checkbox
VirtualTreeView package is included in Lazarus v2.0+, but I'm not sure 
it's installed by default: if you don't find a tab "Virtual controls" in 
your components, you may need to go to Package menu/Install packages, 
select virtualtreeview_package 5.5.3.1 for installation and rebuild 
Lazarus.
Here you should enable multiselection with something like
with VirtualStringTree1.TreeOptions do 
SelectionOptions:=SelectionOptions+[toMultiSelect];
or by checking TreeOptions/SelectionOptions/toMultiSelect in the Object 
inspector when your VirtualStringTree1 is selected.
(I've used VirtualTreeView a while ago, I didn't test checkboxes today)
    
    
More information about the fpc-pascal
mailing list