AGB  ·  Datenschutz  ·  Impressum  







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

Canvas-Flackern verhindern

Ein Thema von Fellmer Lloyd · begonnen am 11. Mai 2004 · letzter Beitrag vom 11. Mai 2004
Antwort Antwort
Fellmer Lloyd
(Gast)

n/a Beiträge
 
#1

Canvas-Flackern verhindern

  Alt 11. Mai 2004, 14:13
Hallo DP!

Ich habe mir einen Editor Programmiert, mit dem ich oder der Endbenutzer die Eingabeformulare eines Programmes selbst gestalten kann.
Dazu gehört: Komponentenverbindungen verschieben (Label+Edit usw.), ein kleiner OI sowie das ausrichten an einem Raster, welcher im Faktor veränderbar ist.

Dieser Raster ist auch mein Problem. Ich zeichnen ihn auf ein Canvas einer TImage Komponente. Auf dieser Komponente(Image) werden auch die Komponenten(Edits usw.) verschoben.

Problem:
Wird eine Komponente über das Image gezogen, zeichnet es sich bei jeder Mausbewegung neu und das flackert ziemlich.

Gibt es dafür eine lösung?
Ich habe bereits versucht, anstatt einer Image-Komponente eine PaintBox zu verwenden, dort flackert es allerdings auch.
(Ich rufe dort die Funtion die das Raster zeichnet bei jeder bewegung neu auf).

Gruss Fellmer
  Mit Zitat antworten Zitat
AlphaBug

Registriert seit: 2. Mär 2004
Ort: hinterm Transistor 246 gleich links
46 Beiträge
 
Delphi 6 Enterprise
 
#2

Re: Canvas-Flackern verhindern

  Alt 11. Mai 2004, 14:19
Hallo Fellmer Lloyd

versuch's doch mal mit einem TBitmap:

Bitmap in Prozedur erstellen
Image in das Bitmap kopieren
Das Raster auf das Bitmap zeichnen
Das Bitmap in das Image kopieren
Delphi 4ever !
  Mit Zitat antworten Zitat
Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#3

Re: Canvas-Flackern verhindern

  Alt 11. Mai 2004, 14:20
Schalte die Option DoubleBuffered des Canvas ein.
Falls es danach immer noch flackert, zeichne die Ausgabe in ein Bitmap und nicht direkt auf den Canvas. Anschließend weist du es der Image-Componente mit
Image1.Graphic.Bitmap.Assign(Bitmap1); zu.
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Canvas-Flackern verhindern

  Alt 11. Mai 2004, 16:42
Zitat von alcaeus:
Schalte die Option DoubleBuffered des Canvas ein.
Ist allerdings eine Eigenschaft von TForm, wenn ich mich net irre.
Also ins Form1.OnCreate:
DoubleBuffered := true; Klappt bei mir


Zitat von alcaeus:
Image1.Graphic.Bitmap.Assign(Bitmap1);
Würde ich immer so machen!
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Fellmer Lloyd
(Gast)

n/a Beiträge
 
#5

Re: Canvas-Flackern verhindern

  Alt 11. Mai 2004, 16:56
Danke, hat mit Bitmap.Assign funktioniert.

Jetzt funktioniert mein "kleiner" Editor wunderbar.
  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 03:29 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