Component Name:        ProTreeViewXControl.ocx
Version:               1.0
Platform:              Every developement tool that supports
                       ActiveX/OCX
Sources:               for FREE (just mail me)
Example:               in pseudocode (at the bottom of this file)
Documentation:         You read it :)
Author:                Bernhard Angerer
Organization:          University of Technology Vienna
Contact E-mail:        angerer@mail.ift.tuwien.ac.at


This ActiveX implements a TreeView which you can
easely "connect" to data (a table or whatever) by 2 events 
and one method. 
The Component is written with Delphi 3. If you want 
the source-code or any extentions just mail me. 
Please send me also suggestions, your used platform, bug 
reports and opinions.


  2.2.98
  Bernhard Angerer
  

------------------------------------------------------------------
Addes methods and events:

Method: FillNodes(ID, String)

  With this method you can put nodes into the control. They
  will be appended to the active node. If the Treeview is
  empty these Nodes will be the RootNodes.

Event: ExpandHandler(ID, Children)

  Is triggered when you click the "+"-symbol. With the given
  ID you can search for the children and write them via
  FillNodes into the Control. If you did not find any Children
  then you assign Children with false.

Event: FillHasChildrenHandler(ID, Bool)

  Is triggered when you call FillNodes. The Control wants to
  know if the given Node has Children or not (for the + or -
  symbol).

Event: ClickNodeHandler(String, ID)

  When you click on to a Node this Event is triggered and gives
  you the String and ID of the Node. Use it to populate the
  detailview.


------------------------------------------------------------------
Example in pseudocode:


procedure FillRootNodes;
begin
  ProTreeViewXControl1.FillNodes(100,"RootNode1");
  ProTreeViewXControl1.FillNodes(200,"RootNode2");
end;

event ExpandHandler(aID: Integer; var aChildren: Boolean);
begin
  aChildren := false;
  search for nodes where parent_ID = aID
  if found then
  begin
    ProTreeViewXControl1.FillNodes(NodeID,NodeString);
    aChildren := true;
  end;
end;


event FillHasChildrenHandler(aID: Integer; var aBool: Boolean);
begin
  aBool := false;
  search for nodes where parent_ID = aID
  if found then
    aBool := true;
end;


event ClickNodeHandler(aName: String; aID: Integer);
begin
  search in the detailtable with aID
  populate the detailview
end;



