Delphi - TTreeView komponens

TTreeView 3. rész

forráskód letöltése
E heti cikkünkben a TTreeNodes típussal fogunk részletesen foglalkozni, vagyis megnézzük, hogyan is épül fel a hierarchikus szerkezet. Most is a típus leírásával kezdjük.
property Count: Integer; Az elem gyermekeinek számát adja meg.

property Handle: HWND;
Az objektum ablakleírója. Pl. akkor használhatjuk, ha eseményeket szeretnénk küldeni a SendMessage függvénnyel.

property Item[Index: Integer]: TTreeNode; default;
A gyermekeket tartalmazza.

property Owner: TCustomTreeView;
A tulajdonosra mutat.
function Add(Node: TTreeNode; const S: string): TTreeNode;
function AddChild(Node: TTreeNode; const S: string): TTreeNode;
function AddChildFirst(Node: TTreeNode; const S: string): 
    TTreeNode;
function AddChildObject(Node: TTreeNode; const S: string;
     Ptr: Pointer): TTreeNode;
function AddChildObjectFirst(Node: TTreeNode; const S: string;
     Ptr: Pointer): TTreeNode;
function AddFirst(Node: TTreeNode; const S: string): 
    TTreeNode;
function AddObject(Node: TTreeNode; const S: string; Ptr: 
   Pointer):  TTreeNode;
function AddObjectFirst(Node: TTreeNode; const S: string;
    Ptr: Pointer):  TTreeNode;

Új elemet adnak hozzá. (Hasonlóan, mint a szerkesztőablakban.) A First függvények elsőként szúrnak be, míg az Object függvények még egy plusz objektumot is átvesznek.
Visszatérési érték a létrejött elem címe.
procedure Assign(Source: TPersistent);
A Source tulajdonságait átveszi. Pl. akkor használható, ha két komponens között szeretnénk adatokat másolni.
procedure BeginUpdate;
procedure EndUpdate;
Be- illetve kikapcsolja a módosítások utáni megjelenítést. Ezt akkor célszerű használni, ha sok változtatás hajtódik végre a felhasználó közbülső beavatkozása nélkül. Ekkor a művelet jelentősen felgyorsul.

procedure Clear;
Törli az összes elemet.

procedure Delete(Node: TTreeNode);
Törli a megadott elemet.

function GetFirstNode: TTreeNode;
Visszatér a legelső elemmel.

function GetNode(ItemId: HTreeItem): TTreeNode;
Visszatér az adott sorszámú elemmel. (Minden elem kap egy abszolút sorszámot.)
function Insert(Node: TTreeNode; const S: string): 
  TTreeNode;
function InsertObject(Node: TTreeNode; const S:
     string; Ptr: Pointer): TTreeNode;
Beszúr egy új elemet a Selected (kiválasztott) elé.
property OnDeletion: TTVExpandedEvent;
Akkor következik be, ha egy elem törlésre kerül.


E heti példaprogramunkban egy dinamikusan felépíthető, szerkeszthető programot vizsgálunk meg. A program dinamikusan hoz létre elemeket az Insert, illetve gyermek-elemeket a Ctrl-Insert lenyomására. F2-re szerkeszti az elem nevét, Delete-re törli. Menet közben folyamatosan kiírja az elemek számát a státusz sorra.



Nagy Gusztáv
nagygus@freemail.hu

TTreeView cikksorozat