Dynamisch paintBox erstellen



  • Hallo zusammen, ich habe wiedermal ein saudummes Problem, aber das bringt mich noch zur Weissglut.
    Im grossen und ganzen möchte ich nur eine paintBox dynamisch erzeugen, und darin was zeichnen. Aber irgendwie tut aus unerklärlichen Gründen nicht

    TPaintBox *PaintBox1 =new TPaintBox(this);
    PaintBox1->Parent = ScrollBox1;
    PaintBox1->Left = 100;
    PaintBox1->Top = 100;
    PaintBox1->Height = 300;
    PaintBox1->Width = 300;
    PaintBox1->Canvas->Rectangle(5, 0, 50, 50);
    PaintBox1->Show();

    Hät jemand evtl einen Tipp?
    Danke im vorraus



  • Probiers mal mit einem Paintbox->Repaint() und einer OnPaint Methode - vielleicht klappts ja dann.



  • Hallo,

    Wann führst Du denn diesen Code aus ?
    Wenn das im OnCreate oder so ist, mußt Du noch die Paint-Methode definieren. Sonst wird das Gezeichnete jedesmal gelöscht, wenn z.B. ein anderes Fenster über Deins kommt.

    PaintBox1->OnPaint = PaintBox1Paint;
    
    void __fastcall TForm1::PaintBox1Paint(TObject *Sender)
    {
    PaintBox1->Canvas->Rectangle(5, 0, 50, 50);
    }
    //---------------------------------------------------------------------------
    

    Bis dann denn,
    🙂
    Nash



  • Besten dank, jetzt funktioniert es 🙂

    Merci


Anmelden zum Antworten