程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> Delphi >> TTreeView講解 [1] - TTreeNodes、TTreeNode 與 Items、Items.C

TTreeView講解 [1] - TTreeNodes、TTreeNode 與 Items、Items.C

編輯:Delphi

 填寫 TTreeVIEw 的內容一般是這樣開始的(下圖), 不過我覺得最好習慣用動態建立.

TTreeView講解 [1] - TTreeNodes、TTreeNode 與 Items、Items.Count、Items.Clear

  打個比方: 譬如 TreeVIEw 是一個軍營的"營部"! 這裡會有營長、連長、排長、班長、戰士等等.

  我們把它們分成三種對象: 營部、營長(總當家)、營長的下屬.

  在這裡的對應關系是:

  TTreeVIEw - 營部

  TTreeNodes - 營長

  TTreeNode - 營長的下屬

  上面的例子中的"營長"不是具體的哪個元素, 他代表著全營, 很多事情都是他說了算;

  其他成員都是"營長"的兵.

  換成 Delphi 的說法: TTreeVIEw 不過是一個包含元素的框架, 最重要的是裡面的元素;

  每一個元素都是一個 TTreeNode 對象;

  所有對象的集合也是一個對象: TTreeNodes, TTreeNodes 就像那個"營長"是個幕後管理者, 它對屬下的所有成員有生殺大權.

  學習 TreeView 要面對的不僅僅是 TTreeVIEw 類, 更重要的是 TTreeNodes 和 TTreeNode 類.

  TreeView1.Items 屬性就是 TreeVIEw1 的 TTreeNodes.

  先做這樣一個例子: 按照同樣的編制, 再建一個營房.

  准備工作: 在窗體上再添加一個 TreeVIEw2 和一個按鈕.

  先看運行效果圖:

TTreeView講解 [1] - TTreeNodes、TTreeNode 與 Items、Items.Count、Items.Clear

  代碼:

unit Unit1; 
 
interface 
 
uses 
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, 
 Dialogs, ComCtrls, StdCtrls; 
 
type 
 TForm1 = class(TForm) 
  TreeView1: TTreeVIEw; 
  TreeView2: TTreeVIEw; 
  Button1: TButton; 
  Button2: TButton; 
  procedure FormCreate(Sender: TObject); 
  procedure Button1Click(Sender: TObject); 
  procedure Button2Click(Sender: TObject); 
 end; 
 
var 
 Form1: TForm1; 
 
implementation 
 
{$R *.dfm} 
 
procedure TForm1.FormCreate(Sender: TObject); 
begin 
 Button1.Caption := '轉移'; 
 Button2.Caption := '回防'; 
end; 
 
{轉移: TreeView1 → TreeVIEw2} 
procedure TForm1.Button1Click(Sender: TObject); 
begin 
 if Boolean(TreeVIEw1.Items.Count) then {如果其中元素總數不是 0} 
 begin 
  TreeView2.Items := TreeVIEw1.Items; 
  TreeVIEw1.Items.Clear; 
 end; 
end; 
 
{回防: TreeView2 → TreeVIEw1} 
procedure TForm1.Button2Click(Sender: TObject); 
var 
 Nodes: TTreeNodes; {盡早習慣使用 TTreeNodes} 
begin 
 Nodes := TreeVIEw2.Items; 
 if Boolean(Nodes.Count) then 
 begin 
  TreeVIEw1.Items := Nodes; 
  TreeVIEw2.Items.Clear; 
 end; 
end; 
 
end. 


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved