dynamisches erzeugen und benennen von mehreren TImages



  • hallo,

    ich mag jedesmal wenn auf ein bild geklickt wird ein neues erstellen. leider bekomm ich das mit der benennung net hin. der name is jedesmal imgdreieck und das mit dem + will net so richtig, wobei der ansatz gut ist finde ich.

    void __fastcall TKomponenten::imgDreieckMouseClick(TObject *Sender)
    {
             if(m_anzDreiecke >= 1)
             {
                    //Neues Dreieck malen
                    imgDreieck  + m_anzDreiecke = new TImage(m_form);
                    imgDreieck->Parent = m_form;
                    imgDreieck->Picture->Bitmap->LoadFromFile("Dreieck01.bmp");
                    imgDreieck->Top = m_top + 40;
    
                    switch(m_anzDreieckeDez)
                    {
                            case 1:
                                    m_poslblAnzDreiecke = lblAnzDreiecke->Left + 20;
                                    break;
                            case 2:
                                    m_poslblAnzDreiecke = lblAnzDreiecke->Left + 25;
                                    break;
                            default:
                                    break;
                    }
    
                    imgDreieck->Left = m_poslblAnzDreiecke;
                    imgDreieck->AutoSize = true;
                    imgDreieck->Transparent = true;
                    imgDreieck->OnMouseDown = imgDreieckMouseDown;
                    imgDreieck->OnMouseMove = imgDreieckMouseMove;
                    imgDreieck->OnMouseUp = imgDreieckMouseUp;
                    imgDreieck->AutoSize = true;
             }
    }
    

    gruesse rene



  • imgDreieck + m_anzDreiecke ist in C/C++ nicht möglich. Nutze stattdessen ein Array

    TImage *myImages[200];
    
    ...
    
    myImage{0]=new TImage()
    ....
    


  • myImage[0]=new TImage();



  • oder ein DynamicArray



  • na, das statische array tuts voll und ganz.

    danke

    gruesse rene


Anmelden zum Antworten