Einzelnen Beitrag anzeigen

torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#9

Re: Ein Control per Procedure selektieren

  Alt 5. Dez 2005, 09:53
Hallo!

Also das mit dem Rahmen für die Selektierung übernimmt die Komponente von Creatis. Das ist also meine Sorge nicht.

Und nun zum Punkt mit dem Format. Ich erstelle wie schon beschrieben eine Stringliste, in die ich die Namen bestimmter Controls aufnehme. hier mein Code, wie ich beispielsweise folgendes Liste befülle.

Delphi-Quellcode:
TreeListCam:=TStringlist.Create; //stringliste für inhalt des treeview
CompListCam:=TStringlist.Create; //stringliste für componenten

    //Liste mit inhalt des treeviews wird erstellt
    for i:= 0 to obj_list.TreeView1.Items.Count-1 do
      begin
        if obj_list.TreeView1.Items.Item[i].HasAsParent(obj_list.GetTreeItems(Obj_list.TreeView1.Items, 'Kameras')) then
           TreeListCam.Add(obj_list.TreeView1.Items.Item[i].Text);
      end;

   //befüllen der Liste, wenn Tag des Controls = 1
    for i:= 0 to ComponentCount-1 do
      begin
        //kameraliste 1
        if (Components[i] is TImage) and ((Components[i] as TImage).Name<>'') and
            ((Components[i] as TImage).Tag = 1) then
              CompListCam.Add((Components[i] as TImage).Name);
      end;

    //Listen werden verglichen und die einträge erstellt
    for i:=0 to CompListCam.Count-1 do
      begin
        if (TreeListCam.IndexOf(CompListCam.Strings[i])=-1) then
          begin
            AktNode:=Obj_list.TreeView1.Items.AddChild(Obj_list.GetTreeItems(Obj_list.TreeView1.Items, 'Kameras'),(CompListCam.Strings[i]));
            AktNode.Data:=Form2.FindComponent(CompListCam.Strings[i]);
            AktNode.ImageIndex := 39;
            AktNode.SelectedIndex := 39;
          end;
      end;

    //Listen werden verglichen und die einträge gelöscht
    for i:=0 to TreeListCam.Count-1 do
      begin
        if (CompListCam.IndexOf(TreeListCam.Strings[i])=-1) then
          begin
            Obj_list.TreeView1.Items.Delete(Obj_list.GetTreeItems(Obj_list.TreeView1.Items, TreeListCam.Strings[i]));
          end;
      end;
Also ich denke, dass hieraus ersichtlich werden sollte, dass ich nichts an den Inhalten irgendwie formatiere. Wer hat noch eine Idee nen Tipp, oder findet gar einen Fehler? Das ich teilwese umständlich arbeite, ist meinem gefährlichen Halbwissen geschuldet...
Danke
Tom
  Mit Zitat antworten Zitat