CheckListBox zurücksetzten...



  • Hallo,

    ich würde gerne meine CheckListBox nach beenden eines Vorgangs zurücksetzten..
    habe dazu folgenden Code:

    int z = 0;                         
            do
                    if (CheckListBox1->Checked[z])
                    {
                            CheckListBox1->Items->Delete(z);
                    }
                    else
                            z++;
            while (z < CheckListBox1->Items->Count);
    

    jedoch löscht er mir nun mein Item komplett aus der liste...
    was für einen befehl nehme ich anstelle von ->Delete(z)?

    danke und gruß

    Sven



  • for(int i=0;i < CheckListBox1->Items->Count;i++)
      CheckListBox1->Checked[i] = false;
    


  • perfekt danke...

    ich hab jetzt nnoch einweiteres problem...
    inder checklistbox stehen werte wie bei einem schachbrett A1 A2 A3 A4.....
    deshalb ist die liste sehr lang! 😮

    kann ich irgendwie sagen das in der checklistbox nur die werte als vorschlag kommen die neben dem ersten ausgewählten wert liegen?

    also wenn A5 ausgewählt wird bspw dann nur A6,A7 und B5 etc zur auswahl steht?



  • bei TCheckListBox kannst du verschiedene Einträge sperren, so dass sie nicht angeklickt werden können, du kannst die Einträge aber nicht unsichtbar machen.
    Schau in der Hilfe unter TCheckListBox => Eigenschaften nach ItemEnabled und State.

    Wenn die Einträge nicht sichtbar sein dürfen, dann würde ich eine Funktion erstellen, die von Fall zu Fall die Listbox-Einträge dynamisch erstellt.


Log in to reply