AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi PaintBox automatisch neuzeichnen
Thema durchsuchen
Ansicht
Themen-Optionen

PaintBox automatisch neuzeichnen

Ein Thema von Urba · begonnen am 20. Nov 2003 · letzter Beitrag vom 20. Nov 2003
Antwort Antwort
Urba

Registriert seit: 8. Dez 2002
Ort: Ketsch
120 Beiträge
 
Delphi 6 Personal
 
#1

PaintBox automatisch neuzeichnen

  Alt 20. Nov 2003, 17:50
Hallo Leute,

Schon wieder ich

Ich habe nun ein neues Problem. Ich wusste ehrlichgesagt nicht nach was ich in der Suche suchen sollte. Also, wenn man eine Image-Kompo o.ä. bezeichnet hat und mit beispielsweise mit einer anderen Form über das eigene Programm fährt, so ist das gezeichnete "überschrieben". Wie kann ich dem entgegenwirken ?

Gruss
Christof
Es gibt keine blöden Fragen, nur blöde Antworten
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: PaintBox automatisch neuzeichnen

  Alt 20. Nov 2003, 18:08
Du zeichnest einfach nicht direkt auf die PaintBox sonder in ein BitMap und weist dann der PaintBox diese BitMap zu.

Wenn du natürlich ins BitMap gezeichnet hast, mußt du nachher noch die PaintBox refreshen.
Angehängte Dateien
Dateityp: exe paintbox.exe (113,4 KB, 21x aufgerufen)
$2B or not $2B
  Mit Zitat antworten Zitat
Urba

Registriert seit: 8. Dez 2002
Ort: Ketsch
120 Beiträge
 
Delphi 6 Personal
 
#3

Re: PaintBox automatisch neuzeichnen

  Alt 20. Nov 2003, 18:15
Erstmal danke, aber das ist nicht das was ich suche. Ich zeichne ja selbst auf den Canvas einer PaintBox und möchte jetzt nicht unbedingt noch ne Image-Kompo einbauen um dort auf dem Bitmap malen zu können. Ausserdem kann man auf einem Bitmap nicht selbst zeichnen, sondern nur auf dem Canvas.

Genau da liegt aber das Problem.

Christof
Es gibt keine blöden Fragen, nur blöde Antworten
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: PaintBox automatisch neuzeichnen

  Alt 20. Nov 2003, 18:20
Eine Image-Komponente nimmt man nur, um Bilder darzustellen. Zum Zeichen nimmt man eien Paintbox.

Und da geht man so vor: man zeichent nicht direkt auf das canvas der paintbox, sondern auf ein Pitmap im Speicher. Un immer wenn es erforderlich ist kopiert man mit BitBlt das Bitmap im Speicher auf den Canvas der Paintbox. Zum Beispiel im OnPaint Ereigniss der Paintbox. Wie das praktisch aussieht kannst du hier kucken: http://www.luckie-online.de/files/demos/ -> OffScreenBitmap

himitsu hat auch nicht von einer Image-Komponente geredet. Sondern von einem Bitmap, was nur im Speicher existiert. Ich nehme mal an, er meint das, was ich eben beschrieben habe.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: PaintBox automatisch neuzeichnen

  Alt 20. Nov 2003, 18:30
Meine ich auch, hab nur der einfachheit halber das Bild in dem Image.

In dem OnPaint-Ereignis kann man ja auch eine andere Zeichenfläche angeben. (z.B. ein BitMap)
$2B or not $2B
  Mit Zitat antworten Zitat
Urba

Registriert seit: 8. Dez 2002
Ort: Ketsch
120 Beiträge
 
Delphi 6 Personal
 
#6

Re: PaintBox automatisch neuzeichnen

  Alt 20. Nov 2003, 18:43
Super ... Danke euch ... ich hatte es erst falsch verstanden. Habe es nun dass es klappt - Nebenbei habe ich dadurch auch einen Performance Fehler weg bekommen DANKE
Es gibt keine blöden Fragen, nur blöde Antworten
  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 05:19 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