TImage als Zeichenbrett missbrauchen
-
Hallo,
Ich missbrauche momentan ein TImage als Zeichenbrett,...
HeistIch habe ein TImage und auf button-druck
Graphics::TBitmap *bmp = new Graphics::TBitmap(); bmp->Width=200; bmp->Height=200; bmp->Canvas->Brush->Color = clYellow; bmp->Canvas->Rectangle(-1,-1,201,201); Image1->Picture->Bitmap=bmp; delete bmp;Habe ich ein 200x200 großes gelbes quadrat.
eine globale var.
bool gedruckt;speichert mir ob gerade die Maus gedrückt ist
und beim "MouseOver"void __fastcall TForm1::Image1MouseMove(TObject *Sender, TShiftState Shift, int X, int Y) { if(gedruckt){ Image1->Picture->Bitmap->Canvas->Brush->Color = clBlack; Image1->Picture->Bitmap->Canvas->Rectangle(X,Y,X+2,Y+2); } }Funktioniert auch, ich kann nun auf mein Bitmap zeichnen,... nur leider flackert es zu sehr da es immer wieder neu aufgebaut ist,... kann man dies irgendwie umgehen ?
-
TImage in ein TPanel und DESSEN DoubleBuffered auf true ?
-
ne bringt leider nix

-
Wenn du nicht den Umweg über ein temporäres Graphics::TBitmap gehst, dürfte da auch nichts flackern (Image1->Canvas->Rectangle...).
-
christianz schrieb:
ne bringt leider nix

Das sollte schon klappen!
Du musst das DoubleBuffered des Panels nur per Code setzen.
UND: Das TImage muss IN dem TPanel sitzen!
Gruss
frank