AGB  ·  Datenschutz  ·  Impressum  







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

Eigene Komponente flackert

Ein Thema von 24jb · begonnen am 20. Feb 2008 · letzter Beitrag vom 20. Feb 2008
Antwort Antwort
24jb

Registriert seit: 6. Apr 2007
27 Beiträge
 
#1

Eigene Komponente flackert

  Alt 20. Feb 2008, 16:06
Hi,

ich hab für ein Projekt eine Komponente geschrieben, die von TCustomControl erbt.
Die Komponente zeigt die übergebene Uhrzeit als binäre Uhr an.

gezeichnet wird diese Uhr mit Canvas.

wenn ich das allerdings mit einem Timer auf der Oberfläche kombiniere, also die Uhrzeit jede Sekunde der Komponente übergebe und dann neu zeichnen lasse, hab ich das problem, das das bild manchmal flackert.

Hat irgendjemand eine ahnung, warum das so ist?

vielen Dank im vorraus

Olav
Angehängte Dateien
Dateityp: pas binaryuhr_384.pas (3,6 KB, 12x aufgerufen)
Dateityp: exe project1_280.exe (367,0 KB, 8x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Eigene Komponente flackert

  Alt 20. Feb 2008, 16:10
Ohne jetzt reingesehen zu haben. Aber es lohnt sich die Uhr in einem Bitmap zu speichern und im Paint-Ereignis nur das Bitmap zu kopieren.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Muetze1
(Gast)

n/a Beiträge
 
#3

Re: Eigene Komponente flackert

  Alt 20. Feb 2008, 16:12
1. Nutze die überschriebene Paint Methode zum zeichnen der Uhr
2. Male im Paint auf ein gleich grosses Bitmap die einzelnen Bits und dann die Uhr als gesamtes auf den Canvas
3. Rufe im Timer Invalidate deiner Komponente auf
  Mit Zitat antworten Zitat
Benutzerbild von STS301
STS301

Registriert seit: 6. Nov 2007
668 Beiträge
 
Delphi 7 Personal
 
#4

Re: Eigene Komponente flackert

  Alt 20. Feb 2008, 16:17
ich habe ihn mir einmal angeschaut, das dürfte das Problem gewesen sein
Delphi-Quellcode:

  //width := 4*FZ + 3*FX;

 
    mal(1,i,clwhite); //ohne for i:= 1 to 6 do...

    mal(2,i,clwhite);

    mal(3,i,clwhite);
Sebastian

ölpölp

Linux will rule the universe!!
  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 09:10 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