MSTreeView 1.00
Copyright (c) 1997,1998 Jeff Chang
All Rights Reserved

jeffchang666@geocities.com
http://www.geocities.com/Area51/Nebula/1141/

This is a beta version of MSTreeView.  While it is free, it does
not give you the right to distribute commercial applications created
with MSTreeView. Please contact the author for licensing the
component for commercial use. For non-commercial use, I simiply
require that you mention my NAME and WEBSITE. If you modify the
component in ANY WAY, you are required to notify me of the change.

I looked long and far for a TreeView that can do multiselect. I knew
that the folks at Microsoft, in their infinite wisdom, decided to
give ListView multiselect ability while denying it from TreeView.
I don't see why TreeView should not enjoy the same capabilities.
Besides, I needed multiselect ability for developing an application.
So I decided to just make myself one.

I am releasing the source code, mainly so that people will help me
improve the component. If you have ANY SUGGESTIONS, feel free to
contact me. I would greatly appreciate any efforts to help me improve
MSTreeView.

----------------------------------------------------------------------

"MULTISELECTING IS DONE BY"
  Holding down Shift or Ctrl and using the mouse
  Holding down Shift and using the direction keyboard

Please remember that the multiselect works only when the selection of
the node is changing. 

The component is pretty stable, but some problems exist. For example,
during drag and drop, I have not implemented any repaint of selection.
Which means that during drag and drop, the items that were highlighted
can lose the highlight once the cursor moves away from it, even though
it was one of the nodes that were selected.

----------------------------------------------------------------------

To install, you need the follwing files:
  MSTreeView.DCU (or PAS)
  MSTreeView.DCR
  MSTreeViewReg.PAS

  Use MSTreeViewReg.PAS to install the component

----------------------------------------------------------------------

History.

1.00: Source code is now included.

0.91b: I received several e-mails about a mysterious UtilColr unit.
Turns out the unit absolutely useless so I took it out. This version
should install properly now.

----------------------------------------------------------------------
Properties:

TMSTreeNode (multiselect TreeNode)

  procedure IsBold: Boolean 		
  - Checks if node appears boldened

  procedure IsSelected: Boolean
  - Checks if node appears selected

  procedure MakeBold(Value: Boolean)
  - Makes the node appear bold based on Value flag;

  procedure MakeSelected(Value: Boolean)
  - Makes the node appear selected based on Value flag;

TMSTreeNodes (multiselect TreeNodes)

TMSTreeView (multiselect TreeView)

  property MultiSelect: Boolean
  - Turns multiselect on or off. When off, "SelNodes" list is always
    empty and "SelCount" is 0.

  property SelCount: Integer
  - Number of nodes that are selected and have been placed in the
    "SelNodes" list.

  property SelNodes[Index: Integer]: TMSTreeNode
  - A list of nodes that are selected.

  procedure AddSelNode(Node: TMSTreeNode)
  - Add "Node" to the "SelNodes" list. (If already present, nothing
    happens).

  procedrue DelSelNode(Node: TMSTreeNode);
  - Remove "Node" from the "SelNodes" list. (If not present, nothing
    happens).

  procedure ClearSelNodes;
  - Clears the list of selected nodes and sets "SelCount" as 0.

  procedure FindSelNode(Node: TMSTreeNode): Integer;
  - Looks for "Node" in the "SelNodes" list and returns an
    index pointing to the found item.
    Returns -1 if no matching node is found.

  procedure SortSelNodes;
  - I made the sorting of the selected nodes in the "SelNodes"
    list manual. Use this method If you need the selected items
    in a sequential order.

----------------------------------------------------------------------

If you have any questions, comments or suggestions concerning
MSTreeView, you can reach me at:

  by e-mail:
     Jeff Chang
     jeffchang666@geocities.com
     http://www.geocities.com/Area51/Nebula/1141/