Anmelden

Archiv verlassen und diese Seite im Standarddesign anzeigen : TPaintBox Problem



o_O
04.03.2006, 12:40
Hi

In einem Projekt von mir Male ich auf eine TPaintBox, aber wenn ich diese Scrolle verschwindet das gemalte ganz =( wie kann ich das verhindern ?
So das ich wenn ich hoch oder runter scrolle alle da bleibt ?!

Crash-Override
04.03.2006, 13:32
Du meinst Delphi, nicht war?

Also leg ne Globale Variable
Buffer: TBitmap;
an. Im OnCreate des Forms:

Buffer := TBitmap.Create;
Buffer.width := PaintBox1.Width;
Buffer.height := PaintBox1.Height;
Dann im OnPaint der PaintBox:

PaintBox1.Canvas.Draw(0,0,Buffer);

Und jetzt halt alle Befehle statt auf PAintBox auf Buffer ausführen, also:
PaintBox1.Canvas.Pixel[5,5] := clWhite;
wird zu
Buffer.Canvas[...]
usw.

o_O
04.03.2006, 16:14
Jo ich mein Delphi =) hab ich ganz verplant .

Cool =) klappt jetzt thx

o_O
04.03.2006, 17:22
Sry 3 Doppelpost =/ aber jetzt hab ich ein anderes Prob.

Wenn ich jetzt linien Zeichen als an einstelle klicken und dann einel linie zur Maus ziehn, Polygons halt. Da ist dann nicht nur eine linie sondern die wirft schlieren=( was kann ich dagegn machen: Repaint und Refresh hilft nicht ...

Crash-Override
04.03.2006, 18:11
Zeichen die Linie statt auf Buffer auf PaintBox und zwar im OnPaint. Erst beim loslassen in den Buffer malen, also wenns endgültig feststeht..

o_O
04.03.2006, 23:30
Hmm ich probiers mal ;( muss mal schauen wie ich das mache =P

Crash-Override
05.03.2006, 07:10
So, da ich zu viel Zeit hab und wahrscheinlich eh nciht ganz verstanden hab was du willst:

http://upload.npcfighter.de/files/9/729Test.rar

o_O
05.03.2006, 13:09
Jeha Danke Danke Danke man =) genau sowas wollte ich mal zum testen machen =) und jetzt hab ichs auch verstanden =) geil thx