benötige Hilfe zu TreeView



  • Hallo,

    komme in meinem Programm nicht weiter. TreeView ist Neuland für mich.
    die Auflistung in meinem TreeView ist nicht richtig. In der Schleife wird an letzter Position schon ein Child-Ordner erstellt. Dies ist nicht richtig.
    kurzes Beispiel: habe 3 Top-Ordner, in den ich unterschiedlichen Anzahl von Child-Ordner erstelle und in diesen die eigentlichen Begriffe enthalten sind. In der Entwicklung kann ich dies nicht voreinstellen, da in der Laufzeit dies unterschiedlich ist. Zum testen habe ich diese kleine Routine erstellt.

    was mache ich falsch ????

    bool TRouteList::TestTreeView()
    {
    TTreeNode* T;
    int Count;
    
        TV->Items->Add(TV->TopItem, "Route 1");
    //
    TV->Items->AddChild(TV->Items->Item[TV->Items->Count-1],"Route 1a");
    T = TV->Items->Item[TV->Items->Count-1];
    for (int i=0; i<3; i++)
    {
    Count = TV->Items->Count;
    TV->Items->AddChild(T, "EinsEins-" + IntToStr(Count));
    }
    //
    TV->Items->AddChild(TV->Items->Item[TV->Items->Count-1],"Route 1b");
    T = TV->Items->Item[TV->Items->Count-1];
    for (int i=0; i<3; i++)
    {
    Count = TV->Items->Count;
    TV->Items->AddChild(T, "EinsEinsEins-" + IntToStr(Count));
    }
    //
    //  --------------------------------------------------------------
    //
    TV->Items->Add(TV->TopItem, "Route 2");
    //
    TV->Items->AddChild(TV->Items->Item[TV->Items->Count-1],"Route 2a");
    T = TV->Items->Item[TV->Items->Count-1];
    for (int i=0; i<3; i++)
    {
    Count = TV->Items->Count;
    TV->Items->AddChild(T, "ZweiZwei-" + IntToStr(Count));
    }
    //
    TV->Items->AddChild(TV->Items->Item[TV->Items->Count-1],"Route 2b");
    T = TV->Items->Item[TV->Items->Count-1];
    for (int i=0; i<3; i++)
    {
    Count = TV->Items->Count;
    TV->Items->AddChild(T, "ZweiZweiZwei-" + IntToStr(Count));
    }
    //
    //  --------------------------------------------------------------
    //
    TV->Items->Add(TV->TopItem, "Route 3");
    //
        TV->Items->AddChild(TV->Items->Item[TV->Items->Count-1],"Route 3a");
    T = TV->Items->Item[TV->Items->Count-1];
    for (int i=0; i<3; i++)
    {
    Count = TV->Items->Count;
    TV->Items->AddChild(T, "DreiDrei-" + IntToStr(Count));
    }
    //
    //  --------------------------------------------------------------
    //
    return 0;
    }
    //---------------------------------------------------------------------------
    

    Gruß Siegfried 😞 😞 😞



  • Ich nehm mal an dein Problem ist das z.B. "Route 1b" als Child von "EinsEins-4" angefügt wird?

    Ok, ich geb dir mal ein Tipp:

    Was gibt dies zurück?

    TV->Items->Add(TV->TopItem, "Route 1");
    


  • Ich durfte letzte Woche im Praktikum auch den TreeView kennenlernen - ich sage euch Leute, DIESE komponente ist sowas von scheiße erstellt. das ist der letzte humbug.

    ich komme in bis zu 3 unterprdner - und wenn ich nen doppelklick mache soll er nen string vom unterordner bis oben aufbauen un den laden - was ist aber wenn man einen knoten anklickt? ERROR. und das Universell für 3 unterknoten abfangen - ist für mich ja fast unmöglich.

    TIPP: SCheiß TreeView 🙂



  • Hallo,

    richtig, wenn ich die Knoten öffne, werden EinsEins-4 und Route 1b als "Ordner" angezeigt. Das vorhandene Beispiel habe ich aus den Borland Beispielen abgeleitet. Ich habe bereits erwähnt, das TreeView ist Neuland für mich. Wäre sehr froh, wenn man mich hier unterstützt.

    Gruß Siegfried 😞 😞 😞



  • Hast du schon ne Antwort zu meiner Frage gefunden?



  • Hallo,

    nein, habe es auch noch nicht verstanden. Habe allerdings diese Zeile gefunden.

    TV->Items->AddChild(TV->Items->Item[2]->Item[0], "Sub-Route 3 cc");
    

    Werde mich damit erstmal auseinander setzen.

    Gruß Siegfried



  • Dann schau doch mal in der BCB-Hilfe was bei TTreeNode bei der Methode Add steht.



  • ich habe bei meinen ganzen knotenpunkten immer

    tree->Items->AddChildObject(UnterOrdnerKnoten,directory.Name,(void*)NULL);
    

    benutz. und daran kommt dann immer AddChild

    O D E R?



  • mal was anderes.
    warum ist deine funktion ein bool der 0 zurückgibt?


Anmelden zum Antworten