AGB  ·  Datenschutz  ·  Impressum  







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

GlassFrame: Unerwünschtes Blending, ich will opak

Ein Thema von Medium · begonnen am 30. Nov 2011 · letzter Beitrag vom 9. Dez 2011
Antwort Antwort
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: GlassFrame: Unerwünschtes Blending, ich will opak

  Alt 30. Nov 2011, 15:34
Tach zam!
....in der DwmApi.pas wurde nach MajorWinVersion >= 6 geprüft, >= 5 war wohl treffender, denn das ist der Wert den mein Win7 dort hinterlässt ...
also
  • Vista -> Major 6 / Minor 0
  • Win7 -> Major 6 / Minor 1

Wäre der Test nicht richtig?

Gruß, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.689 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: GlassFrame: Unerwünschtes Blending, ich will opak

  Alt 30. Nov 2011, 15:40
Ich hab den Inhalt der Variablen nachgeprüft. Es steht eine 5 drin. Warum auch immer
Ich habe mir die DwmApi.pas einfach angepasst und ins Projektverzeichnis geschmissen, um das Original nicht zu stören. An sich geht's ja damit auch, nur dass o.g. "Fehlverhalten" einen Nutzen schwer in Frage stellt bisher
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: GlassFrame: Unerwünschtes Blending, ich will opak

  Alt 30. Nov 2011, 15:43
....Es steht eine 5 drin. Warum auch immer ...
Vielleicht geht es an der Sache vorbei, aber ich würde erstmal eine andere Maschine mit Win7 testen. WinMajor muss 6 sein und Minor 1. Es könnte natürlich sein, dass dir irgendwein Kompatibilitätsmodus dazwischen funkt (daher major /minor falsch) und der/das dann für das Verhalten verantwortlich ist.

Gruß, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.771 Beiträge
 
Delphi 12 Athens
 
#4

AW: GlassFrame: Unerwünschtes Blending, ich will opak

  Alt 30. Nov 2011, 15:46
Ich hab den Inhalt der Variablen nachgeprüft. Es steht eine 5 drin. Warum auch immer
Sieht so aus, als würde Win 7 dir ein XP vorgaukeln. Hängt vielleicht mit der Delphi-Version zusammen. Mit den aktuellen Versionen kann ich das hier nicht nachvollziehen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#5

AW: GlassFrame: Unerwünschtes Blending, ich will opak

  Alt 30. Nov 2011, 17:09
Afaik muss man Doublebuffering aktivieren. Das ganze kommt halt daher, dass die GDI, die von der VCL genutzt wird, keinen Alpha-Channel unterstützt, der DWM aber einen braucht... und ich glaube, es wird Premultiplied-Alpha verwendet, sodass additives Blending herauskommt, wenn der Alphachannel 0 ist – das ist, was man dort sieht.
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.689 Beiträge
 
Delphi 2007 Enterprise
 
#6

AW: GlassFrame: Unerwünschtes Blending, ich will opak

  Alt 30. Nov 2011, 17:48
Doublebuffered ändert leider nichts an dem Verhalten. Schaut alles genau so aus wie ohne

Ich habe die IDE in einer VM (aktueller VMWare Player) laufen, aber nicht im Kompatibilitätsmodus. (Zumindest habe ich das nicht aktiv eingestellt.) Ich schau mal morgen, was die Echse auf dem Host (auch Win7) so sagt, aber an sich sollte Windows seine Versionsangaben kaum abhängig von der Hardware machen, egal wie virtuell sie ist. Dies war zudem die einzige Stelle, an der auf die Version geprüft wurde - vorm Absetzen der API Funktion, die das Glass-Frame setzt. Und an sich geht es ja! Andere Programme mit Glass-Teilen in der VM sehen völlig normal aus, aber einen Versuch ist's wert.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#7

AW: GlassFrame: Unerwünschtes Blending, ich will opak

  Alt 30. Nov 2011, 17:50
Hast du Doublebuffering nur für das Formular oder für jedes einzelne Control aktiviert?
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.689 Beiträge
 
Delphi 2007 Enterprise
 
#8

AW: GlassFrame: Unerwünschtes Blending, ich will opak

  Alt 30. Nov 2011, 18:03
Für das Formular. So hatte ich das zumindest auch bei meinen Recherchen aufgeschnappt. Wobei auch irgendwo stand, dass es ohne gar nicht ginge, was es bei mir aber tut
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)

Geändert von Medium (30. Nov 2011 um 20:31 Uhr)
  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 12:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz