Einzelnen Beitrag anzeigen

berens

Registriert seit: 3. Sep 2004
434 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: Flickernder Newsticker - ich hab bald alle Techniken dur

  Alt 21. Mär 2006, 10:49
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;
  Mit Zitat antworten Zitat