RAD Studio VCL Reference
ContentsIndex
PreviousUpNext
TTreeNodes.AddChildObjectFirst Method

Adds a new tree node containing data to a tree view.

Pascal
function AddChildObjectFirst(Parent: TTreeNode; const S: string; Ptr: TCustomData): TTreeNode;
C++
__fastcall TTreeNode AddChildObjectFirst(TTreeNode Parent, const AnsiString S, TCustomData Ptr);

The node is added as the first child of the node specified by the Parent parameter. Nodes that appear after the added node are moved down one row and reindexed with valid Index values. The S parameter specifies the Text property of the new node. The Ptr parameter specifies the Data property value of the new node. AddChildObjectFirst returns the node that has been added.

Note: The memory referenced by Ptr is not freed when the tree nodes object is freed.
 

C++ Examples: 

 

/*
The following example adds a new item to the selected item’s
list of child items in the tree view control. The new item
is added first in the list of child items. The new item is
identified by the text ‘New Item’. The TBitmap object is
attached to the new item.
*/
#include <memory>       //for STL auto_ptr class
Graphics::TBitmap *MyBitMap;

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  static std::auto_ptr<Graphics::TBitmap> _MyBitMapCleaner((MyBitMap = new Graphics::TBitmap()));  // just create it once
  MyBitMap->LoadFromFile("..\\littleB.bmp");
  TreeView1->Items->BeginUpdate(); // keep the node from painting until it's built
  TreeView1->Items->AddChildObjectFirst(
    TreeView1->Selected, "New Item", MyBitMap);
  TreeView1->Items->EndUpdate();
}

 

Delphi Examples: 

{
The following example adds a new item to the selected item’s
list of child items in the tree view control. The new item
is added first in the list of child items. The new item is
identified by the text ‘New Item’. The TBitmap object is
attached to the new item.
}
procedure TForm1.Button1Click(Sender: TObject);
var
  MyBitMap : TBitmap;
  node : TTreeNode;
begin
  MyBitMap := TBitmap.Create;
  MyBitMap.LoadFromFile('littleB.bmp');
  TreeView1.Items.BeginUpdate;
  node:= TreeView1.Items.AddChildObjectFirst(
    TreeView1.Selected, 'New Item', MyBitMap);
//  node.ImageIndex:= -1;
  TreeView1.Items.EndUpdate;
end;

 

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!