Entwickler-Ecke

Multimedia / Grafik - Linie zeichnen und der Rest des Bildes Flackert! Wieso?


JRegier - Fr 23.09.05 15:24
Titel: Linie zeichnen und der Rest des Bildes Flackert! Wieso?
Hi, ich lasse on DragOver eines Images eine Treppenartige Linie zeichnen und jedesmal wenn bewegt wird
überzeichne ich wo die Linie vorher war mit der Hintergrundfarbe und danach mit Roter Farbe
bis zur aktuellen Mausposition, aber warum Flackert wohl das ganze Bild?


delfiphan - Fr 23.09.05 15:29

Worauf zeichnest du? Source?


AXMD - Fr 23.09.05 15:30

Fängst du WM_PAINT ab, verwendest du DoubleBuffering? Code wäre - wie delfiphan schon gesagt hat - äußerst nett ;)

AXMD


JRegier - Fr 23.09.05 16:06

Ich habe das Image worauf ich zeichne DoubleBuffered auf True gesetzt
und zeichne mit LineTo(..);

also


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
BackgroundImage.DoubleBuffered := True;

with BackgroundImage.Canvas do
begin
 LineTo(X1, Y1);  
 LineTo(X2, Y2);  //etc..
 ..   
end;


Das Image liegt in der ScrollBox und bei der ScrollBox fange ich das WindowProc ab WM_HSCROLL WM_VSCROLL um
das Hintergrundbild neuzuzechnen wenn gescrollt wird!