Hab bei dem Suchbegiff ScrollDC noch das folgende Thema ausgegraben
http://www.delphipraxis.net/internal...ect.php?t=2322 , leider ist das auch zu langsam im Scrollen und (zumindest mit kleiner Schrift) flimmert auch.
Ich komm mit dem ScrollDC nicht so ganz klar. Wie geht das richtig?
Delphi-Quellcode:
var
ende, x: Integer;
r: TRect;
begin
ende := GetTickCount + 30000;
x := 800;
while GetTickCount < ende
do
begin
// Auf dem Canvas ist nun schon die aktuelle Schrift zu sehen
r := Rect(0, 0, width, 150);
ScrollDC(PaintBox321.Canvas.Handle, -1, 0, r, r, PaintBox321.Handle,
NIL);
// verschieben
if x <= -50
then x := 800
else dec (x);
end;
Edit: Ich hab mit ScrollWindow eben ne kleine Demo geschrieben, und die sieht sau gut aus (mit nem Label). Die Sache ist, dass ja der Bereich, der vorher noch nicht sichtbar ist nun immer mit der letzten Pixelspalte des Labels gezeichnet wird (Labels scrollt links raus und hinterlässt eine Spur). Das muss man irgendwie mit dem ClipRect oder so machen. Wie genau Funktioniert das (* gleich mal "the fucking searchfunction"-benutzt*
), für CodeBeispiele wäre ich ganz dankbar, ansonsten zeichne ich das vielleicht mit einem Bitmap und dann immer die letzte Pixelspalte, obwohl mit Label oder so schon lieber wäre.
Delphi-Quellcode:
repeat
ScrollWindow(Self.Handle, -1, 0, NIL, NIl);
sleep(10);
Application.ProcessMessages;
until 1=2;