Objektnamen auslesen und ansprechen



  • Moin moin,
    ich habe ca. 70 Panels und möchte diese gern über eine For-Schleife visible setzen und umgekehrt.
    Wie mach ich das, kann ich irgendwie über "Sender" den Namen auslesen und die Objekte über einen Index ansprechen?
    Die Panels heißen Panel1 bis Panel73.

    Ich Stelle mir das so vor:
    for (i=0;i<74;i++)
    {
    Panel[i]->visible=false;
    }

    Irgendwelche Ideen, wäre sehr dankbar und by the way, wie kann ich überflüssige Buttons innerhalb einer Methode löschen?

    Danke

    Schläfer



  • Sieh dir in der FAQ, im Abschnitt "Komponenten benutzen", mal die Beiträge 'Zugriff nicht über Namen', 'zur Laufzeit erstellen' und ggf. auch 'dynamische Arrays' an.



  • Zuerst mal die Frage "Wozu brauchst du 70 Panels? 😮 ".
    Du kannst den Sender mit einem dynamic_cast in das eigentliche Steuerelement zurückcasten. Das ist natürlich immer eins und ich weiß nicht, ob es eine Controls-Auflistung enthält mit Zeigern auf die untergeordneten Steuerelemente. Wieso legst du deine 70 Steuerelemente nicht in einem Array an, dann kannst du sie auch iterativ bearbeiten.

    EDIT: Die FAQ haben Aufschluss gebracht. Das Array heißt "Components" 😉


Anmelden zum Antworten