Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi DoubleBuffered verunstaltet meine Form (https://www.delphipraxis.net/79033-doublebuffered-verunstaltet-meine-form.html)

xZise 15. Okt 2006 10:32


DoubleBuffered verunstaltet meine Form
 
Ich habe DoubleBuffered eingeschaltet, aber damit sieht meine Form hässlich aus, weil er manchmal nicht updatet.
Wie kann ich das Umgehen?

DGL-luke 15. Okt 2006 10:37

Re: DoubleBuffered verunstaltet meine Form
 
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.

xZise 15. Okt 2006 11:01

Re: DoubleBuffered verunstaltet meine Form
 
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.

OregonGhost 15. Okt 2006 11:10

Re: DoubleBuffered verunstaltet meine Form
 
Wenn du DoubleBuffered am Ende des Code-Ausschnitts nicht wieder auf false setzt, wird es dann richtig neu gezeichnet?

xZise 15. Okt 2006 11:14

Re: DoubleBuffered verunstaltet meine Form
 
Liste der Anhänge anzeigen (Anzahl: 1)
Nein :( Das ist sowieso ganz komisch, weil würde ich es am Programmstart machen, sähe doie Form teilweise durchsichtig aus :D (LOL)

Ich habe mal ein Beispiel angehängt...

Und Außerdem soll er jedes mal (im while) neuzeichnen.

OregonGhost 15. Okt 2006 11:21

Re: DoubleBuffered verunstaltet meine Form
 
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.

xZise 15. Okt 2006 13:14

Re: DoubleBuffered verunstaltet meine Form
 
Also ich hatte "form.refresh" mal drinne, mit dem gleichen Ergebnis...

sid the hacker 16. Okt 2006 14:03

Re: DoubleBuffered verunstaltet meine Form
 
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 :wall:
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.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03: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