Komponenten benutzen - Zugriff, aber nicht durch Namen



  • Ich weiss, der Titel ist etwas seltsam, aber mein Problem lässt sich wohl nicht besser beschreiben.

    Ich muss während ich ein Programmabswchnitt mehrmals wiederhole, auf verschiedene Objekte des Typs TLabel zugreifen. Ich weiss aber nicht, wie ich anhand des Komponentenindexes darauf zugreifen kann.

    Kann mir jemand helfen?

    [ Dieser Beitrag wurde am 02.07.2003 um 10:24 Uhr von Jansen editiert. ]



  • Schau dir mal folgenden Code an. Der sollte dein Problem lösen.

    void __fastcall TForm1::Button1Click(TObject *Sender)
    {
        for(int i=0; i < Form1->ComponentCount; i++)
        {
            // Alle Labels verändern
            if (Form1->Components[i]->ClassNameIs("TLabel"))
            {
                dynamic_cast<TLabel*>(Form1->Components[i])->Caption = "Alle Labels auf gleichen Wert setzen";
            }
    
            // oder eine spezielle Behandlung
            if (Form1->Components[i]->ClassNameIs("TLabel"))
            {
                if (dynamic_cast<TLabel*>(Form1->Components[i])->Name == "Label1")
                    dynamic_cast<TLabel*>(Form1->Components[i])->Caption = "Ausnahme Label1";
            }
    
        }
    }
    

    [ Dieser Beitrag wurde am 28.12.2002 um 04:03 Uhr von Jansen editiert. ]


Anmelden zum Antworten