Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Flimmern des labels (https://www.delphipraxis.net/37918-flimmern-des-labels.html)

ElectricalFire 12. Jan 2005 10:16


Flimmern des labels
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ja hallo, hab da so ein kleines problem, dass sich leider auch mit der suchmaschine von dp und google nicht loesen laesst. hoffentlich koennt ihr mir da weiter helfen:

es geht darum, dass ich einen "laufenden" text im label1 habe, der sich von rechts nach links bewegt. alles funktionniert mehr oder weniger gut. jetzt flimmert aber das ganze bei jedem refresh (on paint / mit timer)!:wall: in .NET gibts keine "doublebuffered := true;" eigenschaft, die gesetzt werden kann. darum muss das ganze nochmals programmiert werden, sprich das rad nochmals erfunden werden.:kotz:

hier mal ein sample des codes:

Delphi-Quellcode:
constructor TWinForm.Create;
begin
  inherited Create;
  //
  // Required for Windows Form Designer support
  //
  InitializeComponent;
  //
  // TODO: Add any constructor code after InitializeComponent call
  //
  label1.text := 'gbs gfh fh fj kj trgegtrergf hy jtyuj etyhwtr tr ry h gf ';
end;

procedure TWinForm.Timer1_Tick(sender: System.Object; e: System.EventArgs);
var text : string;
begin
  text := label1.text;
  Label1.Text := Copy(text,2,length(text)-1) + Copy(text,1,1);
end;
end.

toms 12. Jan 2005 10:19

Re: Flimmern des labels
 
Zitat:

Zitat von ElectricalFire
in .NET gibts keine "doublebuffered := true;" eigenschaft, die gesetzt werden kann.

Hi,

Das gibt's doch in Delphi auch.

Delphi-Quellcode:
Form1.doublebuffered := True;

Muetze1 12. Jan 2005 10:34

Re: Flimmern des labels
 
Moin!

Zitat:

Zitat von toms
Zitat:

Zitat von ElectricalFire
in .NET gibts keine "doublebuffered := true;" eigenschaft, die gesetzt werden kann.

Hi,

Das gibt's doch in Delphi auch.

Delphi-Quellcode:
Form1.doublebuffered := True;

Hä? Lies nochmal! Er benutzt .NET und da gibt es kein DoubleBuffered wie in Delphi, das ist ja sein Dilemma!

Ich hätte noch die Idee ein InvalidateRect() aufzurufen im Timer und im OnPaint das Label nur zu zeichnen, wenn dieses in dem Clipping Rectangle des "dreckigen" Bereiches ist. Ich weiss aber nicht ob die dafür nötigen Funktionen / Informationen in .NET erreichbar sind.

MfG
Muetze1


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:08 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz