Paintbox flickerfrei bemalen



  • Servus, komm net ganz klar mit dem Flickern bei der Paintbox.

    Ich möchte gerne ein paar Kisten, etc auf eine Paintbox zeichnen, die wieder löschen und an eine anderen position (z.B. x+1) neu zeichnen. eider flackert das alles so, dass es AUgenkrebs gibt.

    Habe einen Ansatz, mehr aber nicht

    TRect *rec = new TRect;
     rec->Left=x;
     rec->Top=y;
     rec->Right=x+25;
     rec->Bottom=y+17;
    
     Graphics::TBitmap *Backbuffer = new Graphics::TBitmap();
     Backbuffer->Width=300;
     Backbuffer->Height=300;
     Backbuffer->Canvas->Brush->Color=clRed;
     Backbuffer->Canvas->FillRect(*rec);
     BitBlt(Form1->PaintBox1->Canvas->Handle, 0, 0, 300, 300,Backbuffer->Canvas->Handle, 0, 0, SRCCOPY);
     //Form1->PaintBox1->Canvas->Brush->Color=clRed;
     //Form1->PaintBox1->Canvas->FillRect(*rec);
     delete Backbuffer;
     delete rec;
    

    Thx for Help



  • ich weiß nicht genaus was du mit Flickern meinst, aber vll hilft dir

    DoubleBuffered = true
    

    was.
    Gruß Kai



  • ne leider bringt das nix 😞



  • wie hast dus benutzt?

    z.b. so

    Form->DoubleBuffered=true
    

    dann ists eigentlich weg
    kommt natürlich drauf an was es fürn Flickern ist. :xmas1:



  • Versuche mal in Verbindung mit DoubleBuffered nicht in die PaintBox sondern in TImage oder TPanel zu zeichnen.

    Gruss


Anmelden zum Antworten