AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Flimmern des labels

Ein Thema von ElectricalFire · begonnen am 12. Jan 2005 · letzter Beitrag vom 12. Jan 2005
Antwort Antwort
ElectricalFire

Registriert seit: 20. Dez 2004
Ort: Zürich
19 Beiträge
 
Delphi 2005 Architect
 
#1

Flimmern des labels

  Alt 12. Jan 2005, 10:16
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)! in .NET gibts keine "doublebuffered := true;" eigenschaft, die gesetzt werden kann. darum muss das ganze nochmals programmiert werden, sprich das rad nochmals erfunden werden.

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.
Angehängte Dateien
Dateityp: rar newsstation_129.rar (87,3 KB, 8x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Flimmern des labels

  Alt 12. Jan 2005, 10:19
Zitat von ElectricalFire:
in .NET gibts keine "doublebuffered := true;" eigenschaft, die gesetzt werden kann.
Hi,

Das gibt's doch in Delphi auch.

Form1.doublebuffered := True;
Thomas
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#3

Re: Flimmern des labels

  Alt 12. Jan 2005, 10:34
Moin!

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

Das gibt's doch in Delphi auch.

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
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:18 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