ListBox Marierung aufheben



  • Hallo,
    ich möchte, dass wenn der EIntrag 0 selektiert wird, dieser wieder deselektiert wird und nur die anderen Einträge selektiert bleiben, daher habe ich onclick der Listbox folgendes gecodet:

    void __fastcall TForm1::ListBox1Click(TObject *Sender)
    {
    if(ListBox1->Selected[0] == true)
    ListBox1->Selected[0] = false;
    }

    müsste doch eigentlich prüfen, ob der 0te eintrag selektiert ist und wenn ja, die selektion aufheben.

    ich erhalte aber den fehler, dass das "Der Index der Liste überschreitet das Maximum (0)".

    Zum Zeitpunkt des Klickens in die Liste, enthält diese einen Eintrag (nämlich diesen 0ten)

    Jemand rat ?



  • Kann ich nicht nachvollziehen, dein Beispiel funktioniert hier problemlos.
    Ggf. kannst du es ja mal so probieren:

    if (ListBox1->ItemIndex == 0)
      ListBox1->ItemIndex = -1;
    

    Aber wie gesagt, eigentlich sollte deine Variante auch funktionieren.



  • Hi Jansen,
    danke dir, deine Möglichkeit funktioniert bei mir.
    Wundert mich aber auch, dass meine Variante nicht geht, obwohl ich die ja auch hier im Forum und in der Hilfe so gesehen hab.

    Danke und Gruß naap


Anmelden zum Antworten