delphi7怎么用代码创建一个目录树

delphi7如何用代码创建一个目录树?
从数据表中动态查询出了三个值:山东、河南、山西

想把这三项作为三个目录节点直接显示在treeview1中,选中时提示相应该的内容(如选中山东,showmessage('山东')).

哪位能帮我写一下呀,多谢。

------解决方案--------------------
作为目录节点显示
Delphi(Pascal) code

  w_zjm.TreeView1.Items.Clear;
  t:=w_zjm.TreeView1.Items.Add(nil,'省市列表');
  data.ADOQuery1.Close;
  data.ADOQuery1.Connection:=data.ADOConnection2;
  data.ADOQuery1.SQL.Clear;
  data.ADOQuery1.SQL.Add('select * from table1');
  data.ADOQuery1.Open;
  data.ADOQuery1.First;
  while not data.ADOQuery1.Eof do
  begin
    s:=data.ADOQuery1.FieldByName('mc').AsString;
    t1:=w_zjm.TreeView1.Items.AddChild(t,s);
    data.ADOQuery1.Next;
  end;

------解决方案--------------------
选中提示
Delphi(Pascal) code

procedure TForm1.TreeView1Click(Sender: TObject);
var
  i:Integer;
  s:string;
begin
  i:=self.TreeView1.SelectionCount;
  if i=0 then
    Exit;
  s:=self.TreeView1.Selected.Text;
  ShowMessage(s);
end;

------解决方案--------------------
选中显示,用这段代码可能更符合你的要求
Delphi(Pascal) code

procedure TForm1.TreeView1MouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
var
  tn:TTreeNode;
  s:string;
begin
  tn:=self.TreeView1.GetNodeAt(x,y);
  if tn=nil then
    Exit;
  s:=tn.Text;
  ShowMessage(s);
end;