[gelöst] this->currentcontrol



  • Hallo zusammen,

    ich würde gerne des aufrufenden Controls in dem zugehörigen Code benutzen.
    Also folgender Code soll als Message "Checkbox1" bringen.

    void __fastcall TForm1::CheckBox1Click(TObject *Sender)
    {
    	ShowMessage(this->Name);
    
    }
    

    Leider bringt es "Form1", weil sich "this" leider auf die Form bezieht.

    Frage: geht das überhaupt?

    Gruß
    R



  • Hallo

    Dazu ist der Parameter sender da, denn du bei meistens in TComponent umwandeln kannst

    void __fastcall TForm1::CheckBox1Click(TObject *Sender)
    {
      TComponent* Comp = static_cast<TComponent*>(Sender);
      ShowMessage(Sender->Name);
    }
    

    Siehe auch FAQ hier im Forum, Abschnitt Komponenten benutzen

    bis bald
    akari



  • Huch, stimmt, es steht in der FAQ.

    Da hatte ich wohl Tomaten auf den Augen. 😕 😮

    Hier noch schnell die Korrektur für deinen Samplecode:

    void __fastcall TForm1::CheckBox1Click(TObject *Sender)
    {
      TComponent* Comp = static_cast<TComponent*>(Sender);
      ShowMessage(Comp->Name);
    }
    

    Vielen Dank!



  • Hallo

    Ja stimmt deine Korrektur ist natürlich notwendig

    bis bald
    akari


Anmelden zum Antworten