AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Auf Desktop zeichnen und DoubleBuffered
Thema durchsuchen
Ansicht
Themen-Optionen

Auf Desktop zeichnen und DoubleBuffered

Offene Frage von "OrallY"
Ein Thema von OrallY · begonnen am 20. Feb 2004 · letzter Beitrag vom 16. Aug 2008
Antwort Antwort
Benutzerbild von OrallY
OrallY

Registriert seit: 29. Apr 2003
268 Beiträge
 
#1

Auf Desktop zeichnen und DoubleBuffered

  Alt 20. Feb 2004, 18:25
Mein Programm zeichnet direkt auf das Desktop DC. Dabei handelt es sich um ein animiertes Menü und damit es nicht flackert, zeichne ich alles zuerst Schritt für Schritt auf ein temporäres DC und bringe es dann auf das Desktop DC. Doch muss ich die Zeichenfläche vor jedem neuen "Rendern" löschen, da sich sonst schlieren Bilden. Allerdings kann ich die Fläche ja nicht einfach schwarz machen, wie man es z.B. bei der OpenGl Programierung machen würde. Auf dem Desktop ist ja auch was, was nicht unter den Zeichenaufgabenbereich meines Programms fällt. Zur Zeit wird der Screen gelöscht, in dem er mit einem Screenshot übermalt wird, der vorm Aufrauf des Menüs gemacht wird.
Logisch, dass es nicht so sauber ist. Läuft z.B. ein Video im Hintergrund oder irgend was anderes bewegt sich ist nur ein Standbild zu sehen.

Wie kann ich das Problem lösen? Wenn ich jedes mal InvalidateRect aufrufe, flackert der ganze Bildschirm.
Ich müsste Windows irgendwie mitteilen, die Teile neu zu zeichen, die nicht mehr von meinem Menü verdeckt sind.

Kann mir jemand helfen?
.oO'rallY
Linux is like a tipi: no gates, no windows and a gnu-eating apache inside...
  Mit Zitat antworten Zitat
dasPeter

Registriert seit: 15. Aug 2008
6 Beiträge
 
#2

Re: Auf Desktop zeichnen und DoubleBuffered

  Alt 16. Aug 2008, 20:49
Ich würde an deiner Stelle das Menü nicht direkt auf den desktop zeichnen, sondern in ein eigenes Fenster - auf diese Weise hinterlässt es keine Spuren und du kannst auch die interaktion mit dem Menü besser kontrollieren.
  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 01:25 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