Announcement

Collapse
No announcement yet.

Problem mit TreeView

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem mit TreeView

    Ich habe folgendes ausprobiert :
    1.
    for (int i=0 ; i<TreeView->Items->Count ; i++) TreeView->Items->Item[i]->Selected = true ; // das funktioniert einwandfrei

    2.
    for (int i=TreeView->Items->Count-1; i>=0 ; i--) TreeView->Items->Item[i]->Selected = true ; // das funktioniert fehlerhaft wenn i=0 oder 1 ist

    Hat jemand die gleiche Erfahrung gemacht ?

    BCB 3/CS und NT

  • #2
    Es geht um folgendes. Die Eigenschaft HideSelection von TreeView wird auf false gesetzt und SortType auf stText. Die Markierung soll zum entsprechenden Eintrag springen und bei mir funzt es nur vorwärts (0..Cnt-1) aber nicht rückwärts(Cnt-1..0). Bei der Rückwärtsschleife (s. oben) bleibt die Markierung am 3. Eintrag (d.h. Item[2]) hängen. Ich habe in den Schleifen noch Sleep(500) eingebaut damit der Ablauf verfolgbar bleibt.

    Vielleicht mache ich irgendwo Denkfehler ?
    Kannst Du es nachvollziehen ?

    Danke für die Mühe

    Comment


    • #3
      Also, ich habe folgenden Codeschnipsel ausprobiert und er läuft bis zum 1. angezeigten Element (Item[0])

      <pre>
      for(int i = (TreeView1->Items->Count-1); i >= 0; i--){
      TreeView1->Items->Item[i]->Selected = true;
      Sleep(500);
      }
      </pre&gt

      Comment


      • #4
        Danke Thorsten !

        Ich habe noch folgendes festgestellt dass es nur einmal funktioniert. Wenn man Deine Schleife zweimal hintereinander macht dann geht das nicht mehr (auf jeden Fall bei mir). Ich habe bei mehreren Rechnern schon ausprobiert.

        Welche BCB-Version hast Du

        Comment


        • #5
          1) BCB4 Pro, beide Bugfixes (ich sehe Du hast die dreier Version)

          2) bei mir läuft die Schleife auch mehrmals hintereinander ab (gekapselt in einer weiteren Schleife). Basis war eine leere Anwendung mit einem TTreeView und einem Button(zum starten).

          Ich kann mir aber nicht vorstellen, dass die 3'er Version nicht in der Lage ist solch einfachen Code auszuführen. Hast Du den Code mal in einer neuen Anwendung ausprobiert (nur um die Schleife zu testen)

          Comment


          • #6
            >>Hast Du den Code mal in einer neuen Anwendung ausprobiert (nur um die Schleife zu testen) ?

            Ja auch das hab ich schon getestet leider negativ. Das Problem liegt vermutlich bei 3-Version. Ich versuche jetzt anders zu lösen.

            Danke Dir vielmals

            Comment


            • #7
              Hi,

              ich benutze:
              <pre>
              int nCount = TreeView->Items->Count;
              for(int i = (nCount-1); i > 0; i--){}
              </pre>
              und es funzt.(Auf jeden Fall bei i = 1)

              Was für ein Fehler kommt denn bei Dir

              Comment

              Working...
              X