本例效果图:



源码:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    TreeView1: TTreeView;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Button4: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

var
  i: Integer;

{这四个按钮的功能是一模一样的}
procedure TForm1.Button1Click(Sender: TObject);
begin
  Self.Text := TreeView1.Items.Item[i].Text;
  if i < TreeView1.Items.Count-1 then Inc(i) else i := 0;

  TreeView1.SetFocus;
  TreeView1.Select(TreeView1.Items.Item[i]);
end;

{TreeView1.Items.Item[i] 是默认属性, 可以简写为: TreeView1.Items[i]}
procedure TForm1.Button2Click(Sender: TObject);
begin
  Text := TreeView1.Items[i].Text;
  if i < TreeView1.Items.Count-1 then Inc(i) else i := 0;

  TreeView1.SetFocus;
  TreeView1.Select(TreeView1.Items[i]);
end;

{每个元素都是 TTreeNode 类型的}
procedure TForm1.Button3Click(Sender: TObject);
var
  node: TTreeNode;
begin
  node := TreeView1.Items[i];
  Text := node.Text;
  if i < TreeView1.Items.Count-1 then Inc(i) else i := 0;

  TreeView1.SetFocus;
  TreeView1.Select(node);
end;

{尽量使用 TTreeNodes 与 TTreeNode}
procedure TForm1.Button4Click(Sender: TObject);
var
  Nodes: TTreeNodes;
  node: TTreeNode;
begin
  Nodes := TreeView1.Items;
  node := Nodes[i];
  Text := node.Text;
  if i < Nodes.Count-1 then Inc(i) else i := 0;

  TreeView1.SetFocus;
  TreeView1.Select(node);
end;

end.

posted on 2008-03-11 02:44  万一  阅读(8377)  评论(7编辑  收藏  举报