هذه مشاركة متواضعة من مبتدئ أرجو أن تقبلوها :
هذه الإجراء يعطيك كل العناصر التي في الشكل مرتبة ترتيباً هرمياً في عنصر TreeView
[l]
var
ClassRef: TClass;
ClassChild : TClass;
I : Integer;
NodeParent : TTreeNode;
NodeChild : TTreeNode;
new : TTreeNode;
begin
For I := 0 To componentCount-1 do
begin
NodeChild := Nil;
ClassRef := components.ClassType;
while ClassRef <> nil do
begin
if SearchNode(ClassRef.ClassName) = Nil
then New := TreeView1.Items.Add(Nil,ClassRef.ClassName);
NodeParent := SearchNode(ClassRef.ClassName);
if NodeChild <> nil
then NodeChild.Moveto(NodeParent, naAddChild);
if NodeParent.Parent <> Nil
then Break;
NodeChild := New;
ClassRef := ClassRef.ClassParent;
end;
end;
end;
//================================
function TForm1.SearchNode(NodeText: String): TTreeNode;
var
Node : TTreeNode;
begin
Result := Nil;
if TreeView1.Items.GetFirstNode = Nil then Exit
else Node := TreeView1.Items.GetFirstNode;
if Node.Text = NodeText Then Result := Node
else begin
while Node.GetNext <> Nil do
begin
Node := Node.GetNext;
if Node.Text = NodeText Then
begin
Result := Node;
Exit;
end;
end;
end;
end;[/l]
ثم وجدت في إحدى المواقع استخدام TreeView1.Items.Count في عملية البحث مع حلقة for وهي عملية أسهل.
ثم وجدت في كتاب Delphi™ Developer's Handbook™ كيف تجعل treeview تظهر جميع الأصناف الوارثة لـ TObject
قد تقول ما الفائدة من هذا ؟؟ في الحقيقة أنا فرحان لأني بدأت أبرررمج!!!!:P ثم لعلك تستفيد من فكرته في أماكن أخرى