AGB  ·  Datenschutz  ·  Impressum  







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

DoubleBuffered verunstaltet meine Form

Ein Thema von xZise · begonnen am 15. Okt 2006 · letzter Beitrag vom 16. Okt 2006
Antwort Antwort
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

DoubleBuffered verunstaltet meine Form

  Alt 15. Okt 2006, 10:32
Ich habe DoubleBuffered eingeschaltet, aber damit sieht meine Form hässlich aus, weil er manchmal nicht updatet.
Wie kann ich das Umgehen?
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#2

Re: DoubleBuffered verunstaltet meine Form

  Alt 15. Okt 2006, 10:37
Wenn du weißt, wann nicht neu gezeichnet wird, kannst du auf das ereignis reagieren und Form.Refresh aufrufen. Das sollte ein komplettes Neuzeichnen veranlassen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#3

Re: DoubleBuffered verunstaltet meine Form

  Alt 15. Okt 2006, 11:01
Delphi-Quellcode:
  DoubleBuffered := true;
  while (gbChangeLog.Top > 8) and (cbVisSkin.Checked) do begin
    gbChangeLog.Top := gbChangeLog.Top - 4;
    gbChangeLog.Height := gbChangeLog.Height + 4;
    Application.ProcessMessages;
    Sleep(20);
  end;
  DoubleBuffered := false;
Da bringts ein .Refresh nicht.
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#4

Re: DoubleBuffered verunstaltet meine Form

  Alt 15. Okt 2006, 11:10
Wenn du DoubleBuffered am Ende des Code-Ausschnitts nicht wieder auf false setzt, wird es dann richtig neu gezeichnet?
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#5

Re: DoubleBuffered verunstaltet meine Form

  Alt 15. Okt 2006, 11:14
Nein Das ist sowieso ganz komisch, weil würde ich es am Programmstart machen, sähe doie Form teilweise durchsichtig aus (LOL)

Ich habe mal ein Beispiel angehängt...

Und Außerdem soll er jedes mal (im while) neuzeichnen.
Miniaturansicht angehängter Grafiken
doublebuffered_107.png  
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
OregonGhost

Registriert seit: 8. Jun 2002
Ort: Lübeck
1.216 Beiträge
 
Delphi 3 Professional
 
#6

Re: DoubleBuffered verunstaltet meine Form

  Alt 15. Okt 2006, 11:21
Hmm, ist das ein Standard-Windows-Theme? Ich hab mit meinem MacOS-Milk-Theme manchmal auch gewisse Zeichenprobleme, die mit einem Standard-Theme nicht auftreten...
Davon abgesehen, bist du sicher, dass ein Refresh es nicht bringt? Sprich, einmal ausprobiert? Es sieht nämlich einfach so aus, als ob (zumindest bei der Groupbox) die Steuerelemente ohne Hintergrund neu gezeichnet wurden.
Oregon Ghost
---
Wenn NULL besonders groß ist, ist es fast schon wie ein bisschen eins.
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#7

Re: DoubleBuffered verunstaltet meine Form

  Alt 15. Okt 2006, 13:14
Also ich hatte "form.refresh" mal drinne, mit dem gleichen Ergebnis...
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
sid the hacker

Registriert seit: 16. Okt 2006
1 Beiträge
 
Delphi 7 Professional
 
#8

Re: DoubleBuffered verunstaltet meine Form

  Alt 16. Okt 2006, 14:03
Ich habe mich ein wenig mit der Problematik herumgeschlagen. Anscheinend handelt es sich um ein Windows- Bug: Die Zeichenfehler passieren nur, wenn man das XP-Manifest in das Projekt eingebunden hat, um Themes zu verwenden (Unit XPMan). Habe die Unit testweise rausgeworfen und die Darstellung (im alten Stil) hat super gefunzt.
Offenbar kann die neue XP-Rendering Engine nix mit Bitmaps anfangen
Meine einzige Abhilfe bisher: Rahmen, Shapes, Groupboxen etc. selber zeichnen (Ereignis OnPaint abfangen). Standard- Windows- Elemente wie z.B. Eingabefelder flimmern so und so nicht.
Realität ist die Fiktion unverbesserlicher Realisten
  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 00:09 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