Einzelnen Beitrag anzeigen

berens

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

Re: Flickernder Newsticker - ich hab bald alle Techniken dur

  Alt 21. Mär 2006, 12:54
Hat noch keine mitr ScrollDC gearbeitet? Wie siehst mit ScrollWindow aus?

Edit: Mein aktuelle Code:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  ende, x: Integer;
  ScrollRect, ClipRect, UpdateRect: TRect;
begin
  ende := GetTickCount + 30000;
  x := 0;

  while (GetTickCount < ende) and not cl do
  begin
    inc(x, 2);
// backbuffer.Clear(clWhite32);
// backbuffer.Font.Size := 72;
// backbuffer.Textout(0, 0, 'Funktioniert das denn auch mit etwas längeren Texten noch flüssig und wenn die Schriftgröße 150 beträgt?');
// BitBlt(PaintBox321.Canvas.Handle, 0, 0, width, 150, backbuffer.Canvas.Handle, 0, 0, SRCCOPY);
    ScrollRect := PaintBox321.BoundsRect;
    ClipRect := PaintBox321.BoundsRect;

    ScrollDC(PaintBox321.Canvas.Handle, -2, 0, ScrollRect, ClipRect, 0, @UpdateRect);
    InvalidateRect(PaintBox321.Canvas.Handle,@updaterect,True);
    BitBlt(PaintBox321.Canvas.Handle, width-10, 0, 2, PaintBox321.Height, backbuffer.Canvas.Handle, x, 0, SRCCOPY);
    // ReleaseDC(Handle, PaintBox321.Canvas.Handle);

// PaintBox321.Buffer.Clear (clWhite32);

// PaintBox321.Buffer.Font.Size := 72;
// PaintBox321.Buffer.Textout(x, 0, 'Funktioniert das denn auch mit etwas längeren Texten noch flüssig und wenn die Schriftgröße 150 beträgt?');
// PaintBox321.Flush;
    sleep (2);
    Application.ProcessMessages;
// if x <= -50 then x := 800
// else dec (x, 2);
  end;
end;
  Mit Zitat antworten Zitat