Ereignisroutine onClick für dynamisch erstelle Bilder erzeugen



  • Hallo zusammen.

    Kann mir hier jemand helfen ?

    Danke.
    Oliver.



  • Du musst zuerst eine Methode von TForm erstellen, z.B. in dr Header-Datei des Projekts:

    class TForm1:public TForm
    {
      //[...]
      __published:
        void __fastcall OnClickPicture(TObject* Sender);
     //[...]
    };
    

    Danach gehst du in die CPP und definierst diese Methode:

    void __fastcall TForm1::OnClickPicture(TObject* Sender)
    {
      /* Hier kannst du jetzt Auswerten, auf welchem Bild geklickt wurde,
         du musst nur den Parameter "Sender" auswerten: */
    
      // Sender zum Datentyp "TImage" casten...
      TImage* img=dynamic_cast<TImage*>(Sender);
      ShowMessage("Es wurde auf"+img->Name+" geklickt.");
    }
    

    Dann musst du beim Erzeugen, oder irgendwann zur Laufzeit jedem Bild diese Methode zuweisen:

    for (int i=0;i<PicCount;++i)
    {
      Image[i]->OnClick=OnClickPicture;
    }
    


  • Vielen Dank!
    Passt bestens. Das war eine für mich verständliche und übersichtliche Erklärung. Danke Windoof.



  • Wobei das alles auch in der FAQ steht.


Anmelden zum Antworten